Blame view

3rdparty/boost_1_81_0/libs/spirit/doc/structure.qbk 3.83 KB
73ef4ff3   Hu Chunming   提交三方库
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
  [/==============================================================================
      Copyright (C) 2001-2011 Joel de Guzman
      Copyright (C) 2001-2011 Hartmut Kaiser
  
      Distributed under the Boost Software License, Version 1.0. (See accompanying
      file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  ===============================================================================/]
  
  [section Structure]
  
  [section Include]
  
  Spirit is a header file only library. There are no libraries to link to.
  This section documents the structure of the Spirit headers.
  
  Spirit contains five sub-libraries plus a 'support' module where common
  support classes are placed:
  
  * Classic
  * Qi
  * Karma
  * Lex
  * Support
  
  The top Spirit directory is:
  
      BOOST_ROOT/boost/spirit
  
  Currently, the directory contains:
  
      [actor]     [attribute]     [core]      [debug]
      [dynamic]   [error_handling][home]      [include]
      [iterator]  [meta]          [phoenix]   [repository]
      [symbols]   [tree]          [utility]
  
  These include some old v1.8 directories that are now deprecated. These
  are: actor, attribute, core, debug, dynamic, error_handling, iterator,
  meta, phoenix, symbols, tree and utility. There is no guarantee that these
  directories will still be present in future versions of Spirit. We only
  keep them for backward compatibility. Please be warned.
  
  Each directory (except include, home, and repository) has a corresponding
  header file that contains forwarding includes of each relevant include file
  that the directory contains. For example, there exists a
  <boost/spirit/actor.hpp> header file which includes all the relevant files
  from the boost/spirit/actor directory.
  
  To distinguish between Spirit versions, you can inspect the version file:
  
      <boost/spirit/version.hpp>
  
  using the preprocessor define
  
      SPIRIT_VERSION
  
  It is a hex number where the first two digits determine the major version while
  the last two digits determine the minor version. For example:
  
      #define SPIRIT_VERSION 0x2010 // version 2.1
  
  The include directory at:
  
      BOOST_ROOT/boost/spirit/include
  
  is a special flat directory that contains all the Spirit headers. To
  accommodate the flat structure, the headers are prefixed with the
  sub-library name:
  
  * classic_
  * karma_
  * lex_
  * phoenix1_
  * qi_
  * support_
  
  For example, if you used to include <boost/spirit/actor.hpp>,
  which is now a deprecated header, you should instead include
  <boost/spirit/include/classic_actor.hpp>
  
  If you want to simply include the main sub-library name, then you can
  include:
  
  * <boost/spirit/include/classic.hpp>
  * <boost/spirit/include/karma.hpp>
  * <boost/spirit/include/lex.hpp>
  * <boost/spirit/include/phoenix1.hpp>
  * <boost/spirit/include/qi.hpp>
  * <boost/spirit/include/support.hpp>
  
  The home directory:
  
      BOOST_ROOT/boost/spirit/home
  
  is the /real/ home of Spirit. It is the place where the various sub-libraries
  actually exist. The home directory contains:
  
      [classic]   [karma]     [lex]
      [qi]        [support]
  
  As usual, these directories have their corresponding include files:
  
  * <boost/spirit/home/classic.hpp>
  * <boost/spirit/home/karma.hpp>
  * <boost/spirit/home/lex.hpp>
  * <boost/spirit/home/qi.hpp>
  * <boost/spirit/home/support.hpp>
  
  The various sub-libraries include files can be found in each
  sub-directory containing the particular sub-library. The include
  structure of a sub-library is covered in its documentation. For
  consistency, each library follows the same scheme as above.
  
  To keep it simple, you should use the flat include directory at
  boost/spirit/include.
  
  For some additional information about the rationale you might want to have a 
  look at the FAQ entry __include_structure_faq__.
  
  The subdirectory `boost/spirit/repository` does not belong to the main Spirit
  distribution. For more information please refer to: 
  [link spirit.repository Spirit Repository].
  
  [endsect] [/Include]
  
  [endsect]