Variants
Views
Actions

Difference between revisions of "Cppreference:Archives"

From cppreference.com
(Unofficial Release: Update to new version)
 
(61 intermediate revisions by 21 users not shown)
Line 1: Line 1:
#include <bits/stdc++.h>
+
{{title|Archives for offline viewing}}
  
using namespace std;
+
For convenience, several versions of the wiki suitable for offline viewing are available.
  
struct Luptator{
+
===Html book===
    char nume[100];
+
This html book is an offline copy of the website with unnecessary UI elements stripped out. Choose this if you just want to access cppreference.com via a browser while without internet connection.
    char prenume[100];
+
    int rep;
+
    char continent[50];
+
};
+
  
bool sorter(Luptator a, Luptator b){
+
{|
    if(a.rep==b.rep){
+
|rowspan=2 style="padding-right:1em;"|7 June 2019<br>{{small|[[Cppreference:Old archives|Old versions]]}}
        if(strcmp(a.nume, b.nume)==0){
+
|[[File:html_book_20190607.zip]]
            return strcmp(a.prenume, b.prenume)<0;
+
|-
        }
+
|[[File:html_book_20190607.tar.xz]]
        return strcmp(a.nume, b.nume)<0;
+
|}
    }
+
    return a.rep<b.rep;
+
}
+
  
bool sorter1(Luptator a, Luptator b){
+
===Raw archive===
    if(a.rep==b.rep){
+
This archive is a raw copy created using [https://www.gnu.org/software/wget/ {{tt|wget}}] (GNU Wget). Note that this archive is not useful for viewing as-is, please use the HTML book instead. Note: the utility scripts and a makefile are contained in this package, so it can be used as full upstream source.
        if(strcmp(a.nume, b.nume)==0){
+
            return strcmp(a.prenume, b.prenume)>0;
+
        }
+
        return strcmp(a.nume, b.nume)>0;
+
    }
+
    return a.rep>b.rep;
+
}
+
  
 +
{|
 +
|rowspan=2 style="padding-right:1em;"|7 June 2019<br>{{small|[[Cppreference:Old archives|Old versions]]}}
 +
|[[File:cppreference-doc-20190607.zip]]
 +
|-
 +
|[[File:cppreference-doc-20190607.tar.xz]]
 +
|}
  
int main()
+
===Unofficial Release===
{
+
An unofficial fork that is updated more frequently can be found in [https://github.com/PeterFeicht/cppreference-doc this] git repository.
    int R;
+
    scanf("%d", &R);
+
    vector<Luptator> v;
+
    Luptator l;
+
    for(int i=0; i<R; i++){
+
        scanf("%s%s%d %s", l.nume, l.prenume, &l.rep, l.continent);
+
        v.push_back(l);
+
    }
+
    char comanda[100];
+
    char cont[50];
+
    while(scanf("%s ", comanda)!=EOF){
+
        if(strcmp(comanda, "show")==0){
+
            scanf("%s", cont);
+
            for(int i=0; i<v.size(); i++){
+
                if(strcmp(v[i].continent, cont)==0){
+
                    printf("%s %s %d\n", v[i].nume, v[i].prenume, v[i].rep);
+
                }
+
            }
+
        }
+
        char c;
+
        if(strcmp(comanda, "sort")==0){
+
            scanf("%c", &c);
+
            if(c=='+'){
+
                sort(v.begin(), v.end(), sorter);
+
            }
+
            else if(c=='-'){
+
                sort(v.begin(), v.end(), sorter1);
+
            }
+
        }
+
        int high_rep;
+
        if(strcmp(comanda, "high_rep")==0){
+
            scanf("%d", &high_rep);
+
            int nr=0;
+
            sort(v.begin(), v.end(), sorter1);
+
            for(int i=0; i<v.size(); i++){
+
                if(v[i].rep>high_rep){
+
                    printf("%s %s\n", v[i].nume, v[i].prenume);
+
                    nr++;
+
                }
+
            }
+
            if(nr==0){
+
                printf("Nobody is worth it\n");
+
            }
+
            if(high_rep>9){
+
                printf("Nobody is that good\n");
+
            }
+
        }
+
        if(strcmp(comanda,"add")==0){
+
            scanf("%s%s%d %s", l.nume, l.prenume, &l.rep, l.continent);
+
            v.push_back(l);
+
        }
+
        if(strcmp(comanda,"statistics")==0){
+
            int nr_euro=0;
+
            int nr_asia=0;
+
            int nr_aust=0;
+
            int nr_amer=0;
+
            int nr_afri=0;
+
            int nr_anta=0;
+
            for(int i=0; i<v.size(); i++){
+
                if(strcmp(v[i].continent, "Europa")==0){
+
                    nr_euro++;
+
                }
+
                if(strcmp(v[i].continent, "Australia")==0){
+
                    nr_aust++;
+
                }
+
                if(strcmp(v[i].continent, "Asia")==0){
+
                    nr_asia++;
+
                }
+
                if(strcmp(v[i].continent, "Africa")==0){
+
                    nr_afri++;
+
                }
+
                if(strcmp(v[i].continent, "America")==0){
+
                    nr_amer++;
+
                }
+
                if(strcmp(v[i].continent, "Antarctica")==0){
+
                    nr_anta++;
+
                }
+
            }
+
            printf("%d %d %d %d %d %d\n", nr_euro, nr_asia, nr_aust, nr_amer, nr_afri, nr_anta);
+
        }
+
    }
+
  
 +
{|
 +
|rowspan=3 style="padding-right:1em;"|10 November 2024<br>{{small|[https://github.com/PeterFeicht/cppreference-doc/releases Old versions]}}
 +
|[https://github.com/PeterFeicht/cppreference-doc/releases/download/v20241110/html-book-20241110.zip html-book-20241110.zip] (52MB)
 +
|-
 +
|[https://github.com/PeterFeicht/cppreference-doc/releases/download/v20241110/html-book-20240610.tar.xz html-book-20241110.tar.xz] (6MB)
 +
|-
 +
|[https://github.com/PeterFeicht/cppreference-doc/releases/tag/v20241110 Other files (qch and raw archive)]
 +
|}
  
    return 0;
+
===Devhelp book===
}
+
[https://wiki.gnome.org/Apps/Devhelp Devhelp] is a documentation browser for GTK/Gnome.
  
 +
The book is available as {{tt|cppreference-doc-en-html}} {{tt|deb}} package in the official [https://packages.debian.org/search?keywords=cppreference&searchon=names&suite=all&section=all Debian ] and [https://packages.ubuntu.com/search?keywords=cppreference&searchon=names&suite=all&section=all Ubuntu] repositories.
  
    return 0;
+
For arch users, the package {{tt|cppreference-devhelp}} could be found [https://aur.archlinux.org/packages/cppreference-devhelp/ here], which can be installed from AUR by tools like {{tt|yaourt}}.
}
+
 
 +
===Qt help book===
 +
{{tt|qch}} is a documentation format for use in the Qt tools such as [https://wiki.qt.io/Qt_Creator QtCreator] or Qt Assistant [https://doc.qt.io/qt-5/qtassistant-index.html v5] / [https://doc.qt.io/qt-6/qtassistant-index.html v6].
 +
 
 +
The {{tt|qch}} book below contains a version of the html book, adapted for use with the Qt tools. Search also works.
 +
 
 +
:'''Note''': Old versions of QtCreator or QtAssistant display the documentation improperly. If you see bad formatting, please update these programs. The oldest versions that display the contents correctly are QtCreator v3.0 and QtAssistant v4.8.6.
 +
 
 +
{|
 +
|-
 +
|rowspan=2 style="padding-right:1em;"|7 June 2019<br>{{small|[[Cppreference:Old archives|Old versions]]}}
 +
|[[File:qch_book_20190607.zip]]
 +
|-
 +
|[[File:qch_book_20190607.tar.xz]]
 +
|}
 +
 
 +
The book is available as {{tt|cppreference-doc-en-qch}} {{tt|deb}} package in the official [https://packages.debian.org/search?keywords=cppreference&searchon=names&suite=all&section=all Debian ] and [https://packages.ubuntu.com/search?keywords=cppreference&searchon=names&suite=all&section=all Ubuntu] repositories.
 +
 
 +
The book is also provided by AUR package [https://aur.archlinux.org/packages/cppreference-qt/ cppreference-qt] for Arch Linux users.
 +
 
 +
===Doxygen tag file===
 +
[https://doxygen.org/ Doxygen] is a tool to automatically generate documentation from source code comments. It supports automatic linking of C++ names to external documentation via [https://www.doxygen.org/manual/external.html tag file] functionality. Two tag files are provided in the "html book" archive mentioned above:
 +
* '''local''': use the {{tt|cppreference-doxygen-local.tag.xml}} file to link to the local "html book" archive at the default install location.
 +
* '''web''': {{tt|cppreference-doxygen-web.tag.xml}} to link directly to the cppreference.com website.
 +
 
 +
In order to support external cppreference documentation, Doxyfile needs to be modified as follows:
 +
* If the link target is local archive, add the following line:
 +
: {{c|lang=text|1=TAGFILES += "location/of/cppreference-doxygen-local.tag.xml=/location/of/html/book/root/"}}.
 +
* If the link target is cppreference.com, add the following line:
 +
: {{c|lang=text|1=TAGFILES += "location/of/cppreference-doxygen-web.tag.xml=https://en.cppreference.com/w/"}}.
 +
 
 +
===Manpages===
 +
* [https://github.com/jeaye/stdman stdman]: automatically generated man pages. [https://github.com/jeaye/stdman#Installation Installation] notes are included in the README and updates follow the offline archive releases. Last update: 1 February 2022 (~ 4.7 MB).
 +
* [https://github.com/aitjcize/cppman cppman]: manual pages for Linux/MacOS, with syntax highlighting of example code and hyperlinks between manpages. [https://github.com/aitjcize/cppman#Installation Installation] is available via {{tt|pip/AUR/apt/brew/port}}. The manpages can be generated/cached on-the-fly (online), one page per request, or all available pages can be fetched, for further "offline" browsing.
 +
 
 +
===Bugs===
 +
All bugs in the offline archives should be reported either to the [https://en.cppreference.com/w/Cppreference_talk:Archives talk page] or to the [https://github.com/p12tic/cppreference-doc/issues issues page] of the cppreference-doc github project.
 +
 
 +
===See also===
 +
* The utility scripts are maintained in [https://github.com/p12tic/cppreference-doc this] git repository.
 +
* The Debian packaging information is maintained in [https://github.com/p12tic/cppreference-doc-debian this] git repository.
 +
* An independently-maintained CHM (Windows help) archive can be found in [https://github.com/crea7or/cppreference2mshelp this] git repository.
 +
 
 +
{{langlinks|ja|zh}}

Latest revision as of 10:42, 10 November 2024


For convenience, several versions of the wiki suitable for offline viewing are available.

Contents

[edit] Html book

This html book is an offline copy of the website with unnecessary UI elements stripped out. Choose this if you just want to access cppreference.com via a browser while without internet connection.

7 June 2019
Old versions
File:html book 20190607.zip
File:html book 20190607.tar.xz

[edit] Raw archive

This archive is a raw copy created using wget (GNU Wget). Note that this archive is not useful for viewing as-is, please use the HTML book instead. Note: the utility scripts and a makefile are contained in this package, so it can be used as full upstream source.

7 June 2019
Old versions
File:cppreference-doc-20190607.zip
File:cppreference-doc-20190607.tar.xz

[edit] Unofficial Release

An unofficial fork that is updated more frequently can be found in this git repository.

10 November 2024
Old versions
html-book-20241110.zip (52MB)
html-book-20241110.tar.xz (6MB)
Other files (qch and raw archive)

[edit] Devhelp book

Devhelp is a documentation browser for GTK/Gnome.

The book is available as cppreference-doc-en-html deb package in the official Debian and Ubuntu repositories.

For arch users, the package cppreference-devhelp could be found here, which can be installed from AUR by tools like yaourt.

[edit] Qt help book

qch is a documentation format for use in the Qt tools such as QtCreator or Qt Assistant v5 / v6.

The qch book below contains a version of the html book, adapted for use with the Qt tools. Search also works.

Note: Old versions of QtCreator or QtAssistant display the documentation improperly. If you see bad formatting, please update these programs. The oldest versions that display the contents correctly are QtCreator v3.0 and QtAssistant v4.8.6.
7 June 2019
Old versions
File:qch book 20190607.zip
File:qch book 20190607.tar.xz

The book is available as cppreference-doc-en-qch deb package in the official Debian and Ubuntu repositories.

The book is also provided by AUR package cppreference-qt for Arch Linux users.

[edit] Doxygen tag file

Doxygen is a tool to automatically generate documentation from source code comments. It supports automatic linking of C++ names to external documentation via tag file functionality. Two tag files are provided in the "html book" archive mentioned above:

  • local: use the cppreference-doxygen-local.tag.xml file to link to the local "html book" archive at the default install location.
  • web: cppreference-doxygen-web.tag.xml to link directly to the cppreference.com website.

In order to support external cppreference documentation, Doxyfile needs to be modified as follows:

  • If the link target is local archive, add the following line:
TAGFILES += "location/of/cppreference-doxygen-local.tag.xml=/location/of/html/book/root/".
  • If the link target is cppreference.com, add the following line:
TAGFILES += "location/of/cppreference-doxygen-web.tag.xml=https://en.cppreference.com/w/".

[edit] Manpages

  • stdman: automatically generated man pages. Installation notes are included in the README and updates follow the offline archive releases. Last update: 1 February 2022 (~ 4.7 MB).
  • cppman: manual pages for Linux/MacOS, with syntax highlighting of example code and hyperlinks between manpages. Installation is available via pip/AUR/apt/brew/port. The manpages can be generated/cached on-the-fly (online), one page per request, or all available pages can be fetched, for further "offline" browsing.

[edit] Bugs

All bugs in the offline archives should be reported either to the talk page or to the issues page of the cppreference-doc github project.

[edit] See also

  • The utility scripts are maintained in this git repository.
  • The Debian packaging information is maintained in this git repository.
  • An independently-maintained CHM (Windows help) archive can be found in this git repository.