forked from OSchip/llvm-project
Teach FindSpecRefs how to link to C++ spec.
llvm-svn: 56164
This commit is contained in:
parent
84b70f7f0f
commit
be12fd1f4f
|
@ -293,8 +293,306 @@ c99TOC = [('Foreword', 'xi'),
|
|||
('Bibliography', '515'),
|
||||
('Index', '517')]
|
||||
|
||||
cXXURL = 'http://open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2723.pdf'
|
||||
cXXTOC = [('Contents', 'ii'),
|
||||
('List of Tables', 'ix'),
|
||||
('1 General', '1'),
|
||||
('1.1 Scope', '1'),
|
||||
('1.2 Normative references', '1'),
|
||||
('1.3 Definitions', '2'),
|
||||
('1.4 Implementation compliance', '4'),
|
||||
('1.5 Structure of this International Standard', '5'),
|
||||
('1.6 Syntax notation', '5'),
|
||||
('1.7 The C++ memory model', '6'),
|
||||
('1.8 The C++ object model', '6'),
|
||||
('1.9 Program execution', '7'),
|
||||
('1.10 Multi-threaded executions and data races', '10'),
|
||||
('1.11 Acknowledgments', '13'),
|
||||
('2 Lexical conventions', '15'),
|
||||
('2.1 Phases of translation', '15'),
|
||||
('2.2 Character sets', '16'),
|
||||
('2.3 Trigraph sequences', '17'),
|
||||
('2.4 Preprocessing tokens', '17'),
|
||||
('2.5 Alternative tokens', '18'),
|
||||
('2.6 Tokens', '19'),
|
||||
('2.7 Comments', '19'),
|
||||
('2.8 Header names', '19'),
|
||||
('2.9 Preprocessing numbers', '20'),
|
||||
('2.10 Identifiers', '20'),
|
||||
('2.11 Keywords', '20'),
|
||||
('2.12 Operators and punctuators', '21'),
|
||||
('2.13 Literals', '21'),
|
||||
('3 Basic concepts', '29'),
|
||||
('3.1 Declarations and definitions', '29'),
|
||||
('3.2 One definition rule', '31'),
|
||||
('3.3 Declarative regions and scopes', '33'),
|
||||
('3.4 Name lookup', '38'),
|
||||
('3.5 Program and linkage', '51'),
|
||||
('3.6 Start and termination', '54'),
|
||||
('3.7 Storage duration', '58'),
|
||||
('3.8 Object Lifetime', '62'),
|
||||
('3.9 Types', '65'),
|
||||
('3.10 Lvalues and rvalues', '70'),
|
||||
('3.11 Alignment', '72'),
|
||||
('4 Standard conversions', '73'),
|
||||
('4.1 Lvalue-to-rvalue conversion', '74'),
|
||||
('4.2 Array-to-pointer conversion', '74'),
|
||||
('4.3 Function-to-pointer conversion', '74'),
|
||||
('4.4 Qualification conversions', '74'),
|
||||
('4.5 Integral promotions', '75'),
|
||||
('4.6 Floating point promotion', '76'),
|
||||
('4.7 Integral conversions', '76'),
|
||||
('4.8 Floating point conversions', '76'),
|
||||
('4.9 Floating-integral conversions', '77'),
|
||||
('4.10 Pointer conversions', '77'),
|
||||
('4.11 Pointer to member conversions', '77'),
|
||||
('4.12 Boolean conversions', '78'),
|
||||
('4.13 Integer conversion rank', '78'),
|
||||
('5 Expressions', '79'),
|
||||
('5.1 Primary expressions', '80'),
|
||||
('5.2 Postfix expressions', '85'),
|
||||
('5.3 Unary expressions', '96'),
|
||||
('5.4 Explicit type conversion (cast notation)', '104'),
|
||||
('5.5 Pointer-to-member operators', '105'),
|
||||
('5.6 Multiplicative operators', '106'),
|
||||
('5.7 Additive operators', '106'),
|
||||
('5.8 Shift operators', '107'),
|
||||
('5.9 Relational operators', '108'),
|
||||
('5.10 Equality operators', '109'),
|
||||
('5.11 Bitwise AND operator', '110'),
|
||||
('5.12 Bitwise exclusive OR operator', '110'),
|
||||
('5.13 Bitwise inclusive OR operator', '110'),
|
||||
('5.14 Logical AND operator', '110'),
|
||||
('5.15 Logical OR operator', '110'),
|
||||
('5.16 Conditional operator', '111'),
|
||||
('5.17 Assignment and compound assignment operators', '112'),
|
||||
('5.18 Comma operator', '113'),
|
||||
('5.19 Constant expressions', '113'),
|
||||
('6 Statements', '116'),
|
||||
('6.1 Labeled statement', '116'),
|
||||
('6.2 Expression statement', '116'),
|
||||
('6.3 Compound statement or block', '116'),
|
||||
('6.4 Selection statements', '117'),
|
||||
('6.5 Iteration statements', '118'),
|
||||
('6.6 Jump statements', '121'),
|
||||
('6.7 Declaration statement', '122'),
|
||||
('6.8 Ambiguity resolution', '123'),
|
||||
('7 Declarations', '125'),
|
||||
('7.1 Specifiers', '126'),
|
||||
('7.2 Enumeration declarations', '140'),
|
||||
('7.3 Namespaces', '143'),
|
||||
('7.4 The asm declaration', '156'),
|
||||
('7.5 Linkage specifications', '156'),
|
||||
('8 Declarators', '160'),
|
||||
('8.1 Type names', '161'),
|
||||
('8.2 Ambiguity resolution', '161'),
|
||||
('8.3 Meaning of declarators', '163'),
|
||||
('8.4 Function definitions', '175'),
|
||||
('8.5 Initializers', '177'),
|
||||
('9 Classes', '191'),
|
||||
('9.1 Class names', '193'),
|
||||
('9.2 Class members', '194'),
|
||||
('9.3 Member functions', '197'),
|
||||
('9.4 Static members', '200'),
|
||||
('9.5 Unions', '202'),
|
||||
('9.6 Bit-fields', '203'),
|
||||
('9.7 Nested class declarations', '204'),
|
||||
('9.8 Local class declarations', '205'),
|
||||
('9.9 Nested type names', '206'),
|
||||
('10 Derived classes', '207'),
|
||||
('10.1 Multiple base classes', '208'),
|
||||
('10.2 Member name lookup', '210'),
|
||||
('10.3 Virtual functions', '213'),
|
||||
('10.4 Abstract classes', '217'),
|
||||
('11 Member access control', '219'),
|
||||
('11.1 Access specifiers', '221'),
|
||||
('11.2 Accessibility of base classes and base class members', '222'),
|
||||
('11.3 Access declarations', '224'),
|
||||
('11.4 Friends', '225'),
|
||||
('11.5 Protected member access', '228'),
|
||||
('11.6 Access to virtual functions', '229'),
|
||||
('11.7 Multiple access', '230'),
|
||||
('11.8 Nested classes', '230'),
|
||||
('12 Special member functions', '231'),
|
||||
('12.1 Constructors', '231'),
|
||||
('12.2 Temporary objects', '233'),
|
||||
('12.3 Conversions', '235'),
|
||||
('12.4 Destructors', '238'),
|
||||
('12.5 Free store', '240'),
|
||||
('12.6 Initialization', '242'),
|
||||
('12.7 Construction and destruction', '247'),
|
||||
('12.8 Copying class objects', '250'),
|
||||
('12.9 Inheriting Constructors', '255'),
|
||||
('13 Overloading', '259'),
|
||||
('13.1 Overloadable declarations', '259'),
|
||||
('13.2 Declaration matching', '261'),
|
||||
('13.3 Overload resolution', '262'),
|
||||
('13.4 Address of overloaded function', '281'),
|
||||
('13.5 Overloaded operators', '282'),
|
||||
('13.6 Built-in operators', '286'),
|
||||
('14 Templates', '290'),
|
||||
('14.1 Template parameters', '291'),
|
||||
('14.2 Names of template specializations', '294'),
|
||||
('14.3 Template arguments', '296'),
|
||||
('14.4 Type equivalence', '302'),
|
||||
('14.5 Template declarations', '303'),
|
||||
('14.6 Name resolution', '318'),
|
||||
('14.7 Template instantiation and specialization', '331'),
|
||||
('14.8 Function template specializations', '343'),
|
||||
('15 Exception handling', '363'),
|
||||
('15.1 Throwing an exception', '364'),
|
||||
('15.2 Constructors and destructors', '366'),
|
||||
('15.3 Handling an exception', '366'),
|
||||
('15.4 Exception specifications', '368'),
|
||||
('15.5 Special functions', '371'),
|
||||
('15.6 Exceptions and access', '372'),
|
||||
('16 Preprocessing directives', '373'),
|
||||
('16.1 Conditional inclusion', '375'),
|
||||
('16.2 Source file inclusion', '376'),
|
||||
('16.3 Macro replacement', '377'),
|
||||
('16.4 Line control', '382'),
|
||||
('16.5 Error directive', '383'),
|
||||
('16.6 Pragma directive', '383'),
|
||||
('16.7 Null directive', '383'),
|
||||
('16.8 Predefined macro names', '383'),
|
||||
('16.9 Pragma operator', '384'),
|
||||
('17 Library introduction', '386'),
|
||||
('17.1 General', '386'),
|
||||
('17.2 Overview', '386'),
|
||||
('17.3 Definitions', '386'),
|
||||
('17.4 Additional definitions', '390'),
|
||||
('17.5 Method of description (Informative)', '390'),
|
||||
('17.6 Library-wide requirements', '396'),
|
||||
('18 Language support library', '407'),
|
||||
('18.1 Types', '407'),
|
||||
('18.2 Implementation properties', '408'),
|
||||
('18.3 Integer types', '417'),
|
||||
('18.4 Start and termination', '418'),
|
||||
('18.5 Dynamic memory management', '420'),
|
||||
('18.6 Type identification', '424'),
|
||||
('18.7 Exception handling', '427'),
|
||||
('18.8 Initializer lists', '432'),
|
||||
('18.9 Other runtime support', '434'),
|
||||
('19 Diagnostics library', '435'),
|
||||
('19.1 Exception classes', '435'),
|
||||
('19.2 Assertions', '439'),
|
||||
('19.3 Error numbers', '440'),
|
||||
('19.4 System error support', '440'),
|
||||
('20 General utilities library', '452'),
|
||||
('20.1 Requirements', '452'),
|
||||
('20.2 Utility components', '457'),
|
||||
('20.3 Compile-time rational arithmetic', '463'),
|
||||
('20.4 Tuples', '465'),
|
||||
('20.5 Metaprogramming and type traits', '473'),
|
||||
('20.6 Function objects', '486'),
|
||||
('20.7 Memory', '509'),
|
||||
('20.8 Time utilities', '548'),
|
||||
('20.9 Date and time functions', '562'),
|
||||
('21 Strings library', '563'),
|
||||
('21.1 Character traits', '563'),
|
||||
('21.2 String classes', '569'),
|
||||
('21.3 Class template basic_string', '572'),
|
||||
('21.4 Numeric Conversions', '599'),
|
||||
('21.5 Null-terminated sequence utilities', '600'),
|
||||
('22 Localization library', '604'),
|
||||
('22.1 Locales', '604'),
|
||||
('22.2 Standard locale categories', '617'),
|
||||
('22.3 Standard code conversion facets', '657'),
|
||||
('22.4 C Library Locales', '659'),
|
||||
('23 Containers library', '660'),
|
||||
('23.1 Container requirements', '660'),
|
||||
('23.2 Sequence containers', '681'),
|
||||
('23.3 Associative containers', '719'),
|
||||
('23.4 Unordered associative containers', '744'),
|
||||
('24 Iterators library', '759'),
|
||||
('24.1 Iterator requirements', '759'),
|
||||
('24.2 Header <iterator> synopsis', '764'),
|
||||
('24.3 Iterator primitives', '767'),
|
||||
('24.4 Predefined iterators', '770'),
|
||||
('24.5 Stream iterators', '784'),
|
||||
('25 Algorithms library', '792'),
|
||||
('25.1 Non-modifying sequence operations', '802'),
|
||||
('25.2 Mutating sequence operations', '806'),
|
||||
('25.3 Sorting and related operations', '815'),
|
||||
('25.4 C library algorithms', '829'),
|
||||
('26 Numerics library', '831'),
|
||||
('26.1 Numeric type requirements', '831'),
|
||||
('26.2 The floating-point environment', '832'),
|
||||
('26.3 Complex numbers', '833'),
|
||||
('26.4 Random number generation', '842'),
|
||||
('26.5 Numeric arrays', '884'),
|
||||
('26.6 Generalized numeric operations', '904'),
|
||||
('26.7 C Library', '907'),
|
||||
('27 Input/output library', '912'),
|
||||
('27.1 Iostreams requirements', '912'),
|
||||
('27.2 Forward declarations', '912'),
|
||||
('27.3 Standard iostream objects', '915'),
|
||||
('27.4 Iostreams base classes', '916'),
|
||||
('27.5 Stream buffers', '934'),
|
||||
('27.6 Formatting and manipulators', '944'),
|
||||
('27.7 String-based streams', '972'),
|
||||
('27.8 File-based streams', '984'),
|
||||
('28 Regular expressions library', '1000'),
|
||||
('28.1 Definitions', '1000'),
|
||||
('28.2 Requirements', '1000'),
|
||||
('28.3 Regular expressions summary', '1002'),
|
||||
('28.4 Header <regex> synopsis', '1003'),
|
||||
('28.5 Namespace std::regex_constants', '1009'),
|
||||
('28.6 Class regex_error', '1012'),
|
||||
('28.7 Class template regex_traits', '1012'),
|
||||
('28.8 Class template basic_regex', '1015'),
|
||||
('28.9 Class template sub_match', '1020'),
|
||||
('28.10Class template match_results', '1025'),
|
||||
('28.11Regular expression algorithms', '1029'),
|
||||
('28.12Regular expression Iterators', '1033'),
|
||||
('28.13Modified ECMAScript regular expression grammar', '1039'),
|
||||
('29 Atomic operations library', '1042'),
|
||||
('29.1 Order and Consistency', '1044'),
|
||||
('29.2 Lock-free Property', '1046'),
|
||||
('29.3 Atomic Types', '1046'),
|
||||
('29.4 Operations on Atomic Types', '1051'),
|
||||
('29.5 Flag Type and Operations', '1054'),
|
||||
('30 Thread support library', '1057'),
|
||||
('30.1 Requirements', '1057'),
|
||||
('30.2 Threads', '1058'),
|
||||
('30.3 Mutual exclusion', '1063'),
|
||||
('30.4 Condition variables', '1077'),
|
||||
('A Grammar summary', '1085'),
|
||||
('A.1 Keywords', '1085'),
|
||||
('A.2 Lexical conventions', '1085'),
|
||||
('A.3 Basic concepts', '1089'),
|
||||
('A.4 Expressions', '1090'),
|
||||
('A.5 Statements', '1093'),
|
||||
('A.6 Declarations', '1094'),
|
||||
('A.7 Declarators', '1097'),
|
||||
('A.8 Classes', '1098'),
|
||||
('A.9 Derived classes', '1099'),
|
||||
('A.10 Special member functions', '1099'),
|
||||
('A.11 Overloading', '1100'),
|
||||
('A.12 Templates', '1100'),
|
||||
('A.13 Exception handling', '1101'),
|
||||
('A.14 Preprocessing directives', '1101'),
|
||||
('B Implementation quantities', '1103'),
|
||||
('C Compatibility', '1105'),
|
||||
('C.1 C++ and ISO C', '1105'),
|
||||
('C.2 Standard C library', '1114'),
|
||||
('D Compatibility features', '1119'),
|
||||
('D.1 Increment operator with bool operand', '1119'),
|
||||
('D.2 static keyword', '1119'),
|
||||
('D.3 Access declarations', '1119'),
|
||||
('D.4 Implicit conversion from const strings', '1119'),
|
||||
('D.5 C standard library headers', '1119'),
|
||||
('D.6 Old iostreams members', '1120'),
|
||||
('D.7 char* streams', '1121'),
|
||||
('D.8 Binders', '1130'),
|
||||
('D.9 auto_ptr', '1132'),
|
||||
('E Universal-character-names', '1135'),
|
||||
('F Cross references', '1137'),
|
||||
('Index', '1153')]
|
||||
|
||||
kDocuments = {
|
||||
'C99' : (c99URL, c99TOC, 12)
|
||||
'C99' : (c99URL, c99TOC, 12),
|
||||
'C++' : (cXXURL, cXXTOC, 12),
|
||||
}
|
||||
|
||||
def findClosestTOCEntry(data, target):
|
||||
|
|
Loading…
Reference in New Issue