1# Boost.TypeErasure library
2#
3# Copyright 2011 Steven Watanabe
4#
5# Distributed under the Boost Software License version 1.0. (See
6# accompanying file LICENSE_1_0.txt or copy at
7# http://www.boost.org/LICENSE_1_0.txt)
8
9import path ;
10using boostbook ;
11using quickbook ;
12using doxygen ;
13
14path-constant here : . ;
15path-constant boost-root : ../../.. ;
16
17# Figure out where the root of the boost tree is relative
18# to the html directory.
19local BOOST_ROOT = [ path.relative-to
20                       [ path.join [ path.pwd ] html ]
21                       [ path.root
22                           [ path.make $(boost-root) ]
23                           [ path.pwd ] ] ] ;
24
25xml type_erasure : type_erasure.qbk : <dependency>reference ;
26
27doxygen reference
28  :
29    [ glob ../../../boost/type_erasure/*.hpp ]
30  :
31    <doxygen:param>EXPAND_ONLY_PREDEF=YES
32    <doxygen:param>"ALIASES= \\
33        CopyConstructible=\"<a href=\\\"$(BOOST_ROOT)/doc/html/CopyConstructible.html\\\">CopyConstructible</a>\" \\
34        Concept=\"@xmlonly<link linkend=\\\"boost_typeerasure.conceptdef\\\">Concept</link>@endxmlonly\" \\
35        call=\"@xmlonly<functionname alt=\\\"boost::type_erasure::call\\\">call</functionname>@endxmlonly\" \\
36        any_cast=\"@xmlonly<functionname alt=\\\"boost::type_erasure::any_cast\\\">any_cast</functionname>@endxmlonly\" \\
37        typeid_of=\"@xmlonly<functionname alt=\\\"boost::type_erasure::typeid_of\\\">typeid_of</functionname>@endxmlonly\" \\
38        binding_of=\"@xmlonly<functionname alt=\\\"boost::type_erasure::binding_of\\\">binding_of</functionname>@endxmlonly\" \\
39        is_empty=\"@xmlonly<functionname alt=\\\"boost::type_erasure::is_empty\\\">is_empty</functionname>@endxmlonly\" \\
40        require_match=\"@xmlonly<functionname alt=\\\"boost::type_erasure::require_match\\\">require_match</functionname>@endxmlonly\" "
41    <doxygen:param>"PREDEFINED= \\
42        \"BOOST_TYPE_ERASURE_DOXYGEN=1\" \\
43        \"BOOST_TYPE_ERASURE_UNARY_INPLACE_OPERATOR(name, op)=template<class T = _self> struct name { static void apply(T&); };\" \\
44        \"BOOST_TYPE_ERASURE_UNARY_OPERATOR(name, op)=template<class T = _self, class R = T> struct name { static R apply(const T&); };\" \\
45        \"BOOST_TYPE_ERASURE_BINARY_OPERATOR(name, op)=template<class T = _self, class U = T, class R = T> struct name { static R apply(const T&, const U&); };\" \\
46        \"BOOST_TYPE_ERASURE_ASSIGNMENT_OPERATOR(name, op)=template<class T = _self, class U = T> struct name { static void apply(T&, const U&); };\" \\
47        \"table_arg=table\" \\
48        \"binding_arg=binding\" \\
49        \"data_arg=data\""
50    <doxygen:param>HIDE_UNDOC_MEMBERS=NO
51    <doxygen:param>QUIET=YES
52    <doxygen:param>WARN_IF_UNDOCUMENTED=NO
53    <doxygen:param>EXTRACT_PRIVATE=NO
54    <doxygen:param>ENABLE_PREPROCESSING=YES
55    <doxygen:param>MACRO_EXPANSION=YES
56    <doxygen:param>SEARCH_INCLUDES=NO
57;
58
59boostbook standalone
60  :
61    type_erasure
62  :
63    <dependency>reference
64    <xsl:param>boost.root=../../../..
65;
66