├── alexandrescu
├── example.cpp
└── test_expected.cpp
├── std_optional
├── n3527-std_optional_r4.pdf
└── n3527-std_optional_r4.html
├── deps
└── boost
│ ├── smart_ptr
│ ├── detail
│ │ ├── atomic_count_gcc.hpp
│ │ ├── lwm_nop.hpp
│ │ ├── atomic_count_sync.hpp
│ │ ├── atomic_count_win32.hpp
│ │ ├── sp_has_sync.hpp
│ │ ├── lightweight_mutex.hpp
│ │ ├── operator_bool.hpp
│ │ ├── spinlock_pt.hpp
│ │ ├── spinlock.hpp
│ │ ├── spinlock_nt.hpp
│ │ ├── atomic_count_gcc_x86.hpp
│ │ ├── spinlock_sync.hpp
│ │ ├── sp_convertible.hpp
│ │ └── lwm_pthreads.hpp
│ └── bad_weak_ptr.hpp
│ ├── config
│ ├── abi
│ │ ├── msvc_suffix.hpp
│ │ ├── borland_suffix.hpp
│ │ ├── msvc_prefix.hpp
│ │ └── borland_prefix.hpp
│ ├── platform
│ │ ├── amigaos.hpp
│ │ ├── cray.hpp
│ │ ├── beos.hpp
│ │ ├── solaris.hpp
│ │ ├── vms.hpp
│ │ ├── qnxnto.hpp
│ │ ├── irix.hpp
│ │ ├── vxworks.hpp
│ │ ├── aix.hpp
│ │ └── cygwin.hpp
│ ├── compiler
│ │ ├── compaq_cxx.hpp
│ │ ├── sgi_mipspro.hpp
│ │ ├── greenhills.hpp
│ │ ├── nvcc.hpp
│ │ ├── kai.hpp
│ │ └── comeau.hpp
│ ├── abi_prefix.hpp
│ ├── abi_suffix.hpp
│ ├── no_tr1
│ │ ├── cmath.hpp
│ │ ├── memory.hpp
│ │ ├── complex.hpp
│ │ ├── utility.hpp
│ │ └── functional.hpp
│ ├── stdlib
│ │ ├── libcpp.hpp
│ │ ├── modena.hpp
│ │ └── vacpp.hpp
│ └── warning_disable.hpp
│ ├── type.hpp
│ ├── scoped_ptr.hpp
│ ├── type_traits
│ ├── detail
│ │ ├── size_t_trait_undef.hpp
│ │ ├── wrap.hpp
│ │ ├── type_trait_undef.hpp
│ │ ├── yes_no_type.hpp
│ │ ├── false_result.hpp
│ │ ├── ice_not.hpp
│ │ ├── template_arity_spec.hpp
│ │ ├── bool_trait_undef.hpp
│ │ ├── ice_eq.hpp
│ │ ├── ice_and.hpp
│ │ ├── ice_or.hpp
│ │ ├── type_trait_def.hpp
│ │ └── size_t_trait_def.hpp
│ ├── ice.hpp
│ ├── is_rvalue_reference.hpp
│ ├── is_float.hpp
│ ├── is_void.hpp
│ ├── is_reference.hpp
│ ├── msvc
│ │ ├── typeof.hpp
│ │ ├── remove_bounds.hpp
│ │ └── remove_reference.hpp
│ ├── integral_constant.hpp
│ ├── is_arithmetic.hpp
│ └── is_union.hpp
│ ├── exception
│ └── detail
│ │ └── attribute_noreturn.hpp
│ ├── shared_ptr.hpp
│ ├── preprocessor
│ ├── facilities
│ │ ├── empty.hpp
│ │ ├── identity.hpp
│ │ └── overload.hpp
│ ├── punctuation
│ │ ├── comma.hpp
│ │ └── comma_if.hpp
│ ├── inc.hpp
│ ├── empty.hpp
│ ├── iterate.hpp
│ ├── repeat.hpp
│ ├── identity.hpp
│ ├── comma_if.hpp
│ ├── enum_params.hpp
│ ├── iteration
│ │ ├── self.hpp
│ │ ├── detail
│ │ │ └── self.hpp
│ │ └── local.hpp
│ ├── control
│ │ ├── if.hpp
│ │ ├── expr_iif.hpp
│ │ └── iif.hpp
│ ├── logical
│ │ ├── and.hpp
│ │ ├── compl.hpp
│ │ └── bitand.hpp
│ ├── cat.hpp
│ ├── array
│ │ ├── data.hpp
│ │ ├── size.hpp
│ │ └── elem.hpp
│ ├── detail
│ │ └── is_binary.hpp
│ ├── slot
│ │ └── slot.hpp
│ ├── list
│ │ ├── fold_right.hpp
│ │ ├── append.hpp
│ │ └── reverse.hpp
│ ├── debug
│ │ └── error.hpp
│ ├── repetition
│ │ └── enum_params.hpp
│ └── arithmetic
│ │ ├── sub.hpp
│ │ └── add.hpp
│ ├── mpl
│ ├── aux_
│ │ ├── config
│ │ │ ├── msvc.hpp
│ │ │ ├── workaround.hpp
│ │ │ ├── intel.hpp
│ │ │ ├── gcc.hpp
│ │ │ ├── static_constant.hpp
│ │ │ ├── ctps.hpp
│ │ │ ├── arrays.hpp
│ │ │ ├── overload_resolution.hpp
│ │ │ ├── lambda.hpp
│ │ │ ├── nttp.hpp
│ │ │ ├── integral.hpp
│ │ │ ├── preprocessor.hpp
│ │ │ ├── ttp.hpp
│ │ │ ├── eti.hpp
│ │ │ ├── adl.hpp
│ │ │ └── dtp.hpp
│ │ ├── template_arity_fwd.hpp
│ │ ├── na_fwd.hpp
│ │ ├── lambda_arity_param.hpp
│ │ ├── static_cast.hpp
│ │ ├── nttp_decl.hpp
│ │ ├── arity.hpp
│ │ ├── preprocessor
│ │ │ ├── filter_params.hpp
│ │ │ ├── tuple.hpp
│ │ │ └── enum.hpp
│ │ ├── yes_no.hpp
│ │ └── adl_barrier.hpp
│ ├── int.hpp
│ ├── limits
│ │ └── arity.hpp
│ ├── void_fwd.hpp
│ ├── size_t.hpp
│ ├── int_fwd.hpp
│ ├── integral_c_tag.hpp
│ ├── size_t_fwd.hpp
│ ├── bool_fwd.hpp
│ ├── integral_c_fwd.hpp
│ ├── bool.hpp
│ ├── lambda_fwd.hpp
│ └── integral_c.hpp
│ ├── non_type.hpp
│ ├── detail
│ └── lightweight_mutex.hpp
│ ├── version.hpp
│ ├── memory_order.hpp
│ ├── current_function.hpp
│ └── checked_delete.hpp
├── codeblocks.workspace
├── .gitattributes
├── moene
├── static_visitor.h
├── required.hpp
└── test_required.cpp
├── .gitignore
├── hagan
├── return_code.hpp
├── return_code_fg.hpp
├── test_return_code.cpp
└── test_return_code_fg.cpp
├── examples
├── test_expected_minimal.cpp
├── test_expected_use_policy.cpp
├── example_collection.cpp
├── expected_minimal.hpp
├── example_inplace.cpp
└── example_disengaged.cpp
├── LICENSE_1_0.txt
├── nonco
└── test_expected.cpp
└── exception_c++11.hpp
/alexandrescu/example.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/martinmoene/spike-expected/HEAD/alexandrescu/example.cpp
--------------------------------------------------------------------------------
/std_optional/n3527-std_optional_r4.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/martinmoene/spike-expected/HEAD/std_optional/n3527-std_optional_r4.pdf
--------------------------------------------------------------------------------
/std_optional/n3527-std_optional_r4.html:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/martinmoene/spike-expected/HEAD/std_optional/n3527-std_optional_r4.html
--------------------------------------------------------------------------------
/deps/boost/smart_ptr/detail/atomic_count_gcc.hpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/martinmoene/spike-expected/HEAD/deps/boost/smart_ptr/detail/atomic_count_gcc.hpp
--------------------------------------------------------------------------------
/codeblocks.workspace:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/deps/boost/config/abi/msvc_suffix.hpp:
--------------------------------------------------------------------------------
1 | // (C) Copyright John Maddock 2003.
2 | // Use, modification and distribution are subject to the
3 | // Boost Software License, Version 1.0. (See accompanying file
4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 |
6 | #pragma pack(pop)
7 |
8 |
9 |
--------------------------------------------------------------------------------
/deps/boost/config/abi/borland_suffix.hpp:
--------------------------------------------------------------------------------
1 | // (C) Copyright John Maddock 2003.
2 | // Use, modification and distribution are subject to the
3 | // Boost Software License, Version 1.0. (See accompanying file
4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 |
6 | # pragma option pop
7 | #pragma nopushoptwarn
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/deps/boost/config/platform/amigaos.hpp:
--------------------------------------------------------------------------------
1 | // (C) Copyright John Maddock 2002.
2 | // Use, modification and distribution are subject to the
3 | // Boost Software License, Version 1.0. (See accompanying file
4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 |
6 | // See http://www.boost.org for most recent version.
7 |
8 | #define BOOST_PLATFORM "AmigaOS"
9 |
10 | #define BOOST_DISABLE_THREADS
11 | #define BOOST_NO_CWCHAR
12 | #define BOOST_NO_STD_WSTRING
13 | #define BOOST_NO_INTRINSIC_WCHAR_T
14 |
15 |
16 |
--------------------------------------------------------------------------------
/deps/boost/config/platform/cray.hpp:
--------------------------------------------------------------------------------
1 | // (C) Copyright John Maddock 2011.
2 | // Use, modification and distribution are subject to the
3 | // Boost Software License, Version 1.0. (See accompanying file
4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 |
6 |
7 | // See http://www.boost.org for most recent version.
8 |
9 | // SGI Irix specific config options:
10 |
11 | #define BOOST_PLATFORM "Cray"
12 |
13 | // boilerplate code:
14 | #define BOOST_HAS_UNISTD_H
15 | #include
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/deps/boost/type.hpp:
--------------------------------------------------------------------------------
1 | // (C) Copyright David Abrahams 2001.
2 | // Distributed under the Boost Software License, Version 1.0. (See
3 | // accompanying file LICENSE_1_0.txt or copy at
4 | // http://www.boost.org/LICENSE_1_0.txt)
5 |
6 | #ifndef BOOST_TYPE_DWA20010120_HPP
7 | # define BOOST_TYPE_DWA20010120_HPP
8 |
9 | namespace boost {
10 |
11 | // Just a simple "type envelope". Useful in various contexts, mostly to work
12 | // around some MSVC deficiencies.
13 | template
14 | struct type {};
15 |
16 | }
17 |
18 | #endif // BOOST_TYPE_DWA20010120_HPP
19 |
--------------------------------------------------------------------------------
/deps/boost/scoped_ptr.hpp:
--------------------------------------------------------------------------------
1 | #ifndef BOOST_SCOPED_PTR_HPP_INCLUDED
2 | #define BOOST_SCOPED_PTR_HPP_INCLUDED
3 |
4 | // (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.
5 | // Copyright (c) 2001, 2002 Peter Dimov
6 | //
7 | // Distributed under the Boost Software License, Version 1.0. (See
8 | // accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // http://www.boost.org/libs/smart_ptr/scoped_ptr.htm
12 | //
13 |
14 | #include
15 |
16 | #endif // #ifndef BOOST_SCOPED_PTR_HPP_INCLUDED
17 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
4 | # Custom for Visual Studio
5 | *.cs diff=csharp
6 | *.sln merge=union
7 | *.csproj merge=union
8 | *.vbproj merge=union
9 | *.fsproj merge=union
10 | *.dbproj merge=union
11 |
12 | # Standard to msysgit
13 | *.doc diff=astextplain
14 | *.DOC diff=astextplain
15 | *.docx diff=astextplain
16 | *.DOCX diff=astextplain
17 | *.dot diff=astextplain
18 | *.DOT diff=astextplain
19 | *.pdf diff=astextplain
20 | *.PDF diff=astextplain
21 | *.rtf diff=astextplain
22 | *.RTF diff=astextplain
23 |
--------------------------------------------------------------------------------
/moene/static_visitor.h:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2013 Martin Moene
2 | //
3 | // Use, modification, and distribution is subject to the Boost Software
4 | // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
5 | // http://www.boost.org/LICENSE_1_0.txt)
6 |
7 | #ifndef NONSTD_STATIC_VISITOR_H_INCLUDED
8 | #define NONSTD_STATIC_VISITOR_H_INCLUDED
9 |
10 | namespace nonstd {
11 |
12 | template
13 | class static_visitor
14 | {
15 | public:
16 | typedef T result_type;
17 | };
18 |
19 | }
20 |
21 | #endif // NONSTD_STATIC_VISITOR_H_INCLUDED
22 |
--------------------------------------------------------------------------------
/deps/boost/type_traits/detail/size_t_trait_undef.hpp:
--------------------------------------------------------------------------------
1 |
2 | // NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
3 |
4 | // Copyright Aleksey Gurtovoy 2002-2004
5 | //
6 | // Distributed under the Boost Software License, Version 1.0.
7 | // (See accompanying file LICENSE_1_0.txt or copy at
8 | // http://www.boost.org/LICENSE_1_0.txt)
9 |
10 | // $Source$
11 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
12 | // $Revision: 1944 $
13 |
14 | #undef BOOST_TT_AUX_SIZE_T_TRAIT_DEF1
15 | #undef BOOST_TT_AUX_SIZE_T_TRAIT_SPEC1
16 | #undef BOOST_TT_AUX_SIZE_T_TRAIT_PARTIAL_SPEC1_1
17 |
--------------------------------------------------------------------------------
/deps/boost/config/compiler/compaq_cxx.hpp:
--------------------------------------------------------------------------------
1 | // (C) Copyright John Maddock 2001 - 2003.
2 | // Use, modification and distribution are subject to the
3 | // Boost Software License, Version 1.0. (See accompanying file
4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 |
6 | // See http://www.boost.org for most recent version.
7 |
8 | // Tru64 C++ compiler setup (now HP):
9 |
10 | #define BOOST_COMPILER "HP Tru64 C++ " BOOST_STRINGIZE(__DECCXX_VER)
11 |
12 | #include "boost/config/compiler/common_edg.hpp"
13 |
14 | //
15 | // versions check:
16 | // Nothing to do here?
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/deps/boost/exception/detail/attribute_noreturn.hpp:
--------------------------------------------------------------------------------
1 | //Copyright (c) 2009 Emil Dotchevski and Reverge Studios, Inc.
2 |
3 | //Distributed under the Boost Software License, Version 1.0. (See accompanying
4 | //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 |
6 | #ifndef UUID_61531AB0680611DEADD5846855D89593
7 | #define UUID_61531AB0680611DEADD5846855D89593
8 |
9 | #if defined(_MSC_VER)
10 | #define BOOST_ATTRIBUTE_NORETURN __declspec(noreturn)
11 | #elif defined(__GNUC__)
12 | #define BOOST_ATTRIBUTE_NORETURN __attribute__((__noreturn__))
13 | #else
14 | #define BOOST_ATTRIBUTE_NORETURN
15 | #endif
16 |
17 | #endif
18 |
--------------------------------------------------------------------------------
/deps/boost/shared_ptr.hpp:
--------------------------------------------------------------------------------
1 | #ifndef BOOST_SHARED_PTR_HPP_INCLUDED
2 | #define BOOST_SHARED_PTR_HPP_INCLUDED
3 |
4 | //
5 | // shared_ptr.hpp
6 | //
7 | // (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.
8 | // Copyright (c) 2001-2008 Peter Dimov
9 | //
10 | // Distributed under the Boost Software License, Version 1.0. (See
11 | // accompanying file LICENSE_1_0.txt or copy at
12 | // http://www.boost.org/LICENSE_1_0.txt)
13 | //
14 | // See http://www.boost.org/libs/smart_ptr/shared_ptr.htm for documentation.
15 | //
16 |
17 | #include
18 |
19 | #endif // #ifndef BOOST_SHARED_PTR_HPP_INCLUDED
20 |
--------------------------------------------------------------------------------
/deps/boost/preprocessor/facilities/empty.hpp:
--------------------------------------------------------------------------------
1 | # /* Copyright (C) 2001
2 | # * Housemarque Oy
3 | # * http://www.housemarque.com
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 | # */
9 | #
10 | # /* Revised by Paul Mensonides (2002) */
11 | #
12 | # /* See http://www.boost.org for most recent version. */
13 | #
14 | # ifndef BOOST_PREPROCESSOR_FACILITIES_EMPTY_HPP
15 | # define BOOST_PREPROCESSOR_FACILITIES_EMPTY_HPP
16 | #
17 | # /* BOOST_PP_EMPTY */
18 | #
19 | # define BOOST_PP_EMPTY()
20 | #
21 | # endif
22 |
--------------------------------------------------------------------------------
/deps/boost/preprocessor/punctuation/comma.hpp:
--------------------------------------------------------------------------------
1 | # /* Copyright (C) 2001
2 | # * Housemarque Oy
3 | # * http://www.housemarque.com
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 | # */
9 | #
10 | # /* Revised by Paul Mensonides (2002) */
11 | #
12 | # /* See http://www.boost.org for most recent version. */
13 | #
14 | # ifndef BOOST_PREPROCESSOR_PUNCTUATION_COMMA_HPP
15 | # define BOOST_PREPROCESSOR_PUNCTUATION_COMMA_HPP
16 | #
17 | # /* BOOST_PP_COMMA */
18 | #
19 | # define BOOST_PP_COMMA() ,
20 | #
21 | # endif
22 |
--------------------------------------------------------------------------------
/deps/boost/type_traits/detail/wrap.hpp:
--------------------------------------------------------------------------------
1 | // (C) Copyright David Abrahams 2002.
2 | // Use, modification and distribution are subject to the Boost Software License,
3 | // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
4 | // http://www.boost.org/LICENSE_1_0.txt).
5 | //
6 | // See http://www.boost.org/libs/type_traits for most recent version including documentation.
7 |
8 | #ifndef BOOST_TT_DETAIL_WRAP_HPP_INCLUDED
9 | #define BOOST_TT_DETAIL_WRAP_HPP_INCLUDED
10 |
11 | namespace boost {
12 | namespace type_traits {
13 |
14 | template struct wrap {};
15 |
16 | }} // namespace boost::type_traits
17 |
18 | #endif // BOOST_TT_DETAIL_WRAP_HPP_INCLUDED
19 |
--------------------------------------------------------------------------------
/deps/boost/mpl/aux_/config/msvc.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED
3 | #define BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2002-2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: msvc.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 |
18 | // BOOST_MSVC is defined here:
19 | #include
20 |
21 | #endif // BOOST_MPL_AUX_CONFIG_MSVC_HPP_INCLUDED
22 |
--------------------------------------------------------------------------------
/deps/boost/mpl/aux_/config/workaround.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED
3 | #define BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2002-2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: workaround.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 | #include
18 |
19 | #endif // BOOST_MPL_AUX_CONFIG_WORKAROUND_HPP_INCLUDED
20 |
--------------------------------------------------------------------------------
/deps/boost/mpl/aux_/config/intel.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED
3 | #define BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: intel.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 |
18 | // BOOST_INTEL_CXX_VERSION is defined here:
19 | #include
20 |
21 | #endif // BOOST_MPL_AUX_CONFIG_INTEL_HPP_INCLUDED
22 |
--------------------------------------------------------------------------------
/deps/boost/mpl/int.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_INT_HPP_INCLUDED
3 | #define BOOST_MPL_INT_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2000-2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: int.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 | #include
18 |
19 | #define AUX_WRAPPER_VALUE_TYPE int
20 | #include
21 |
22 | #endif // BOOST_MPL_INT_HPP_INCLUDED
23 |
--------------------------------------------------------------------------------
/deps/boost/config/platform/beos.hpp:
--------------------------------------------------------------------------------
1 | // (C) Copyright John Maddock 2001.
2 | // Use, modification and distribution are subject to the
3 | // Boost Software License, Version 1.0. (See accompanying file
4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 |
6 | // See http://www.boost.org for most recent version.
7 |
8 | // BeOS specific config options:
9 |
10 | #define BOOST_PLATFORM "BeOS"
11 |
12 | #define BOOST_NO_CWCHAR
13 | #define BOOST_NO_CWCTYPE
14 | #define BOOST_HAS_UNISTD_H
15 |
16 | #define BOOST_HAS_BETHREADS
17 |
18 | #ifndef BOOST_DISABLE_THREADS
19 | # define BOOST_HAS_THREADS
20 | #endif
21 |
22 | // boilerplate code:
23 | #include
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/deps/boost/mpl/limits/arity.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED
3 | #define BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2000-2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: arity.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 | #if !defined(BOOST_MPL_LIMIT_METAFUNCTION_ARITY)
18 | # define BOOST_MPL_LIMIT_METAFUNCTION_ARITY 5
19 | #endif
20 |
21 | #endif // BOOST_MPL_LIMITS_ARITY_HPP_INCLUDED
22 |
--------------------------------------------------------------------------------
/deps/boost/preprocessor/facilities/identity.hpp:
--------------------------------------------------------------------------------
1 | # /* Copyright (C) 2001
2 | # * Housemarque Oy
3 | # * http://www.housemarque.com
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 | # */
9 | #
10 | # /* Revised by Paul Mensonides (2002) */
11 | #
12 | # /* See http://www.boost.org for most recent version. */
13 | #
14 | # ifndef BOOST_PREPROCESSOR_FACILITIES_IDENTITY_HPP
15 | # define BOOST_PREPROCESSOR_FACILITIES_IDENTITY_HPP
16 | #
17 | # include
18 | #
19 | # /* BOOST_PP_IDENTITY */
20 | #
21 | # define BOOST_PP_IDENTITY(item) item BOOST_PP_EMPTY
22 | #
23 | # endif
24 |
--------------------------------------------------------------------------------
/deps/boost/type_traits/detail/type_trait_undef.hpp:
--------------------------------------------------------------------------------
1 |
2 | // NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
3 |
4 | // Copyright Aleksey Gurtovoy 2002-2004
5 | //
6 | // Distributed under the Boost Software License, Version 1.0.
7 | // (See accompanying file LICENSE_1_0.txt or copy at
8 | // http://www.boost.org/LICENSE_1_0.txt)
9 |
10 | // $Source$
11 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
12 | // $Revision: 1944 $
13 |
14 | #undef BOOST_TT_AUX_TYPE_TRAIT_DEF1
15 | #undef BOOST_TT_AUX_TYPE_TRAIT_SPEC1
16 | #undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_SPEC1
17 | #undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_1
18 | #undef BOOST_TT_AUX_TYPE_TRAIT_PARTIAL_SPEC1_2
19 | #undef BOOST_TT_AUX_TYPE_TRAIT_IMPL_PARTIAL_SPEC1_1
20 |
--------------------------------------------------------------------------------
/deps/boost/non_type.hpp:
--------------------------------------------------------------------------------
1 | // -------------------------------------
2 | //
3 | // (C) Copyright Gennaro Prota 2003.
4 | //
5 | // Distributed under the Boost Software License, Version 1.0.
6 | // (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 | //
9 | // ------------------------------------------------------
10 |
11 | #ifndef BOOST_NON_TYPE_HPP_GP_20030417
12 | #define BOOST_NON_TYPE_HPP_GP_20030417
13 |
14 |
15 | namespace boost {
16 |
17 | // Just a simple "envelope" for non-type template parameters. Useful
18 | // to work around some MSVC deficiencies.
19 |
20 | template
21 | struct non_type { };
22 |
23 |
24 | }
25 |
26 |
27 | #endif // include guard
28 |
--------------------------------------------------------------------------------
/deps/boost/detail/lightweight_mutex.hpp:
--------------------------------------------------------------------------------
1 | #ifndef BOOST_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED
2 | #define BOOST_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED
3 |
4 | // MS compatible compilers support #pragma once
5 |
6 | #if defined(_MSC_VER) && (_MSC_VER >= 1020)
7 | # pragma once
8 | #endif
9 |
10 | //
11 | // boost/detail/lightweight_mutex.hpp - lightweight mutex
12 | //
13 | // Copyright (c) 2002, 2003 Peter Dimov and Multi Media Ltd.
14 | //
15 | // Distributed under the Boost Software License, Version 1.0.
16 | // See accompanying file LICENSE_1_0.txt or copy at
17 | // http://www.boost.org/LICENSE_1_0.txt
18 | //
19 |
20 | #include
21 |
22 | #endif // #ifndef BOOST_DETAIL_LIGHTWEIGHT_MUTEX_HPP_INCLUDED
23 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.bak
2 | *.bmarks
3 | *.build
4 | *.pbxuser
5 | *.mode1v3
6 | *.suo
7 | *.obj
8 | *.exe
9 | *.lnt
10 | *.ncb
11 | *.opt
12 | *.ilk
13 | *.pdb
14 | *.plg
15 | *.user
16 | *.xcuserstate
17 | .DS_Store
18 | Debug
19 | Release
20 | xcuserdata
21 | CatchSelfTest.xcscheme
22 | Breakpoints.xcbkptlist
23 | projects/VS2010/TestCatch/_UpgradeReport_Files/
24 | projects/VS2010/TestCatch/TestCatch/TestCatch.vcxproj.filters
25 | projects/VisualStudio/TestCatch/UpgradeLog.XML
26 | UpgradeLog.XML
27 | projects/XCode4/iOSTest/Build/Intermediates/PrecompiledHeaders
28 | projects/XCode4/iOSTest/Build/Products/Debug-iphonesimulator/iOSTest.app.dSYM/Contents/Resources/DWARF
29 | projects/XCode4/iOSTest/Build
30 | projects/XCode4/CatchSelfTest/DerivedData
31 | projects/XCode4/OCTest/DerivedData
32 |
--------------------------------------------------------------------------------
/hagan/return_code.hpp:
--------------------------------------------------------------------------------
1 | // Copyright 2000 Ken Hagan
2 | // Exploding return codes.
3 | // https://groups.google.com/forum/#!msg/comp.lang.c++.moderated/BkZqPfoq3ys/H_PMR8Sat4oJ
4 |
5 | #ifndef HAGAN_EXPLODING_RETURN_CODE_H_INCLUDED
6 | #define HAGAN_EXPLODING_RETURN_CODE_H_INCLUDED
7 |
8 | class return_code
9 | {
10 | long m_rc;
11 |
12 | public:
13 | #if __cplusplus >= 201103L
14 | ~return_code() noexcept(false)
15 | #else
16 | ~return_code()
17 | #endif
18 | {
19 | if ( m_rc < 0 )
20 | throw m_rc;
21 | }
22 |
23 | return_code( long rc )
24 | : m_rc( rc ) {}
25 |
26 | operator long ()
27 | {
28 | long rc = m_rc;
29 | m_rc = -1;
30 | return rc;
31 | }
32 | };
33 |
34 | #endif // HAGAN_EXPLODING_RETURN_CODE_H_INCLUDED
35 |
--------------------------------------------------------------------------------
/deps/boost/mpl/aux_/template_arity_fwd.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED
3 | #define BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2001-2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: template_arity_fwd.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 | namespace boost { namespace mpl { namespace aux {
18 |
19 | template< typename F > struct template_arity;
20 |
21 | }}}
22 |
23 | #endif // BOOST_MPL_AUX_TEMPLATE_ARITY_FWD_HPP_INCLUDED
24 |
--------------------------------------------------------------------------------
/deps/boost/mpl/aux_/config/gcc.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED
3 | #define BOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: gcc.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 | #if defined(__GNUC__) && !defined(__EDG_VERSION__)
18 | # define BOOST_MPL_CFG_GCC ((__GNUC__ << 8) | __GNUC_MINOR__)
19 | #else
20 | # define BOOST_MPL_CFG_GCC 0
21 | #endif
22 |
23 | #endif // BOOST_MPL_AUX_CONFIG_GCC_HPP_INCLUDED
24 |
--------------------------------------------------------------------------------
/deps/boost/preprocessor/inc.hpp:
--------------------------------------------------------------------------------
1 | # /* **************************************************************************
2 | # * *
3 | # * (C) Copyright Paul Mensonides 2002.
4 | # * Distributed under the Boost Software License, Version 1.0. (See
5 | # * accompanying file LICENSE_1_0.txt or copy at
6 | # * http://www.boost.org/LICENSE_1_0.txt)
7 | # * *
8 | # ************************************************************************** */
9 | #
10 | # /* See http://www.boost.org for most recent version. */
11 | #
12 | # ifndef BOOST_PREPROCESSOR_INC_HPP
13 | # define BOOST_PREPROCESSOR_INC_HPP
14 | #
15 | # include
16 | #
17 | # endif
18 |
--------------------------------------------------------------------------------
/deps/boost/config/abi_prefix.hpp:
--------------------------------------------------------------------------------
1 | // abi_prefix header -------------------------------------------------------//
2 |
3 | // (c) Copyright John Maddock 2003
4 |
5 | // Use, modification and distribution are subject to the Boost Software License,
6 | // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt).
8 |
9 | #ifndef BOOST_CONFIG_ABI_PREFIX_HPP
10 | # define BOOST_CONFIG_ABI_PREFIX_HPP
11 | #else
12 | # error double inclusion of header boost/config/abi_prefix.hpp is an error
13 | #endif
14 |
15 | #include
16 |
17 | // this must occur after all other includes and before any code appears:
18 | #ifdef BOOST_HAS_ABI_HEADERS
19 | # include BOOST_ABI_PREFIX
20 | #endif
21 |
22 | #if defined( __BORLANDC__ )
23 | #pragma nopushoptwarn
24 | #endif
25 |
26 |
--------------------------------------------------------------------------------
/deps/boost/mpl/void_fwd.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_VOID_FWD_HPP_INCLUDED
3 | #define BOOST_MPL_VOID_FWD_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2001-2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: void_fwd.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 | #include
18 |
19 | BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
20 |
21 | struct void_;
22 |
23 | BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
24 | BOOST_MPL_AUX_ADL_BARRIER_DECL(void_)
25 |
26 | #endif // BOOST_MPL_VOID_FWD_HPP_INCLUDED
27 |
--------------------------------------------------------------------------------
/deps/boost/preprocessor/empty.hpp:
--------------------------------------------------------------------------------
1 | # /* **************************************************************************
2 | # * *
3 | # * (C) Copyright Paul Mensonides 2002.
4 | # * Distributed under the Boost Software License, Version 1.0. (See
5 | # * accompanying file LICENSE_1_0.txt or copy at
6 | # * http://www.boost.org/LICENSE_1_0.txt)
7 | # * *
8 | # ************************************************************************** */
9 | #
10 | # /* See http://www.boost.org for most recent version. */
11 | #
12 | # ifndef BOOST_PREPROCESSOR_EMPTY_HPP
13 | # define BOOST_PREPROCESSOR_EMPTY_HPP
14 | #
15 | # include
16 | #
17 | # endif
18 |
--------------------------------------------------------------------------------
/deps/boost/mpl/size_t.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_SIZE_T_HPP_INCLUDED
3 | #define BOOST_MPL_SIZE_T_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2000-2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: size_t.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 | #include
18 |
19 | #define AUX_WRAPPER_VALUE_TYPE std::size_t
20 | #define AUX_WRAPPER_NAME size_t
21 | #define AUX_WRAPPER_PARAMS(N) std::size_t N
22 |
23 | #include
24 |
25 | #endif // BOOST_MPL_SIZE_T_HPP_INCLUDED
26 |
--------------------------------------------------------------------------------
/deps/boost/preprocessor/iterate.hpp:
--------------------------------------------------------------------------------
1 | # /* **************************************************************************
2 | # * *
3 | # * (C) Copyright Paul Mensonides 2002.
4 | # * Distributed under the Boost Software License, Version 1.0. (See
5 | # * accompanying file LICENSE_1_0.txt or copy at
6 | # * http://www.boost.org/LICENSE_1_0.txt)
7 | # * *
8 | # ************************************************************************** */
9 | #
10 | # /* See http://www.boost.org for most recent version. */
11 | #
12 | # ifndef BOOST_PREPROCESSOR_ITERATE_HPP
13 | # define BOOST_PREPROCESSOR_ITERATE_HPP
14 | #
15 | # include
16 | #
17 | # endif
18 |
--------------------------------------------------------------------------------
/deps/boost/preprocessor/repeat.hpp:
--------------------------------------------------------------------------------
1 | # /* **************************************************************************
2 | # * *
3 | # * (C) Copyright Paul Mensonides 2002.
4 | # * Distributed under the Boost Software License, Version 1.0. (See
5 | # * accompanying file LICENSE_1_0.txt or copy at
6 | # * http://www.boost.org/LICENSE_1_0.txt)
7 | # * *
8 | # ************************************************************************** */
9 | #
10 | # /* See http://www.boost.org for most recent version. */
11 | #
12 | # ifndef BOOST_PREPROCESSOR_REPEAT_HPP
13 | # define BOOST_PREPROCESSOR_REPEAT_HPP
14 | #
15 | # include
16 | #
17 | # endif
18 |
--------------------------------------------------------------------------------
/deps/boost/preprocessor/identity.hpp:
--------------------------------------------------------------------------------
1 | # /* **************************************************************************
2 | # * *
3 | # * (C) Copyright Paul Mensonides 2002.
4 | # * Distributed under the Boost Software License, Version 1.0. (See
5 | # * accompanying file LICENSE_1_0.txt or copy at
6 | # * http://www.boost.org/LICENSE_1_0.txt)
7 | # * *
8 | # ************************************************************************** */
9 | #
10 | # /* See http://www.boost.org for most recent version. */
11 | #
12 | # ifndef BOOST_PREPROCESSOR_IDENTITY_HPP
13 | # define BOOST_PREPROCESSOR_IDENTITY_HPP
14 | #
15 | # include
16 | #
17 | # endif
18 |
--------------------------------------------------------------------------------
/deps/boost/preprocessor/comma_if.hpp:
--------------------------------------------------------------------------------
1 | # /* **************************************************************************
2 | # * *
3 | # * (C) Copyright Paul Mensonides 2002.
4 | # * Distributed under the Boost Software License, Version 1.0. (See
5 | # * accompanying file LICENSE_1_0.txt or copy at
6 | # * http://www.boost.org/LICENSE_1_0.txt)
7 | # * *
8 | # ************************************************************************** */
9 | #
10 | # /* See http://www.boost.org for most recent version. */
11 | #
12 | # ifndef BOOST_PREPROCESSOR_COMMA_IF_HPP
13 | # define BOOST_PREPROCESSOR_COMMA_IF_HPP
14 | #
15 | # include
16 | #
17 | # endif
18 |
--------------------------------------------------------------------------------
/deps/boost/preprocessor/enum_params.hpp:
--------------------------------------------------------------------------------
1 | # /* **************************************************************************
2 | # * *
3 | # * (C) Copyright Paul Mensonides 2002.
4 | # * Distributed under the Boost Software License, Version 1.0. (See
5 | # * accompanying file LICENSE_1_0.txt or copy at
6 | # * http://www.boost.org/LICENSE_1_0.txt)
7 | # * *
8 | # ************************************************************************** */
9 | #
10 | # /* See http://www.boost.org for most recent version. */
11 | #
12 | # ifndef BOOST_PREPROCESSOR_ENUM_PARAMS_HPP
13 | # define BOOST_PREPROCESSOR_ENUM_PARAMS_HPP
14 | #
15 | # include
16 | #
17 | # endif
18 |
--------------------------------------------------------------------------------
/deps/boost/config/platform/solaris.hpp:
--------------------------------------------------------------------------------
1 | // (C) Copyright John Maddock 2001 - 2003.
2 | // (C) Copyright Jens Maurer 2003.
3 | // Use, modification and distribution are subject to the
4 | // Boost Software License, Version 1.0. (See accompanying file
5 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 |
7 | // See http://www.boost.org for most recent version.
8 |
9 | // sun specific config options:
10 |
11 | #define BOOST_PLATFORM "Sun Solaris"
12 |
13 | #define BOOST_HAS_GETTIMEOFDAY
14 |
15 | // boilerplate code:
16 | #define BOOST_HAS_UNISTD_H
17 | #include
18 |
19 | //
20 | // pthreads don't actually work with gcc unless _PTHREADS is defined:
21 | //
22 | #if defined(__GNUC__) && defined(_POSIX_THREADS) && !defined(_PTHREADS)
23 | # undef BOOST_HAS_PTHREADS
24 | #endif
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/deps/boost/type_traits/detail/yes_no_type.hpp:
--------------------------------------------------------------------------------
1 |
2 | // (C) Copyright John Maddock and Steve Cleary 2000.
3 | // Use, modification and distribution are subject to the Boost Software License,
4 | // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
5 | // http://www.boost.org/LICENSE_1_0.txt).
6 | //
7 | // See http://www.boost.org/libs/type_traits for most recent version including documentation.
8 | //
9 | // macros and helpers for working with integral-constant-expressions.
10 |
11 | #ifndef BOOST_TT_DETAIL_YES_NO_TYPE_HPP_INCLUDED
12 | #define BOOST_TT_DETAIL_YES_NO_TYPE_HPP_INCLUDED
13 |
14 | namespace boost {
15 | namespace type_traits {
16 |
17 | typedef char yes_type;
18 | struct no_type
19 | {
20 | char padding[8];
21 | };
22 |
23 | } // namespace type_traits
24 | } // namespace boost
25 |
26 | #endif // BOOST_TT_DETAIL_YES_NO_TYPE_HPP_INCLUDED
27 |
--------------------------------------------------------------------------------
/deps/boost/type_traits/ice.hpp:
--------------------------------------------------------------------------------
1 |
2 | // (C) Copyright John Maddock and Steve Cleary 2000.
3 | // Use, modification and distribution are subject to the Boost Software License,
4 | // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
5 | // http://www.boost.org/LICENSE_1_0.txt).
6 | //
7 | // See http://www.boost.org/libs/type_traits for most recent version including documentation.
8 | //
9 | // macros and helpers for working with integral-constant-expressions.
10 |
11 | #ifndef BOOST_TT_ICE_HPP_INCLUDED
12 | #define BOOST_TT_ICE_HPP_INCLUDED
13 |
14 | #include
15 | #include
16 | #include
17 | #include
18 | #include
19 |
20 | #endif // BOOST_TT_ICE_HPP_INCLUDED
21 |
--------------------------------------------------------------------------------
/deps/boost/config/platform/vms.hpp:
--------------------------------------------------------------------------------
1 | // (C) Copyright Artyom Beilis 2010.
2 | // Use, modification and distribution are subject to the
3 | // Boost Software License, Version 1.0. (See accompanying file
4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 |
6 | #ifndef BOOST_CONFIG_PLATFORM_VMS_HPP
7 | #define BOOST_CONFIG_PLATFORM_VMS_HPP
8 |
9 | #define BOOST_PLATFORM "OpenVMS"
10 |
11 | #undef BOOST_HAS_STDINT_H
12 | #define BOOST_HAS_UNISTD_H
13 | #define BOOST_HAS_NL_TYPES_H
14 | #define BOOST_HAS_GETTIMEOFDAY
15 | #define BOOST_HAS_DIRENT_H
16 | #define BOOST_HAS_PTHREADS
17 | #define BOOST_HAS_NANOSLEEP
18 | #define BOOST_HAS_CLOCK_GETTIME
19 | #define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
20 | #define BOOST_HAS_LOG1P
21 | #define BOOST_HAS_EXPM1
22 | #define BOOST_HAS_THREADS
23 | #undef BOOST_HAS_SCHED_YIELD
24 |
25 | #endif
26 |
--------------------------------------------------------------------------------
/deps/boost/smart_ptr/detail/lwm_nop.hpp:
--------------------------------------------------------------------------------
1 | #ifndef BOOST_SMART_PTR_DETAIL_LWM_NOP_HPP_INCLUDED
2 | #define BOOST_SMART_PTR_DETAIL_LWM_NOP_HPP_INCLUDED
3 |
4 | // MS compatible compilers support #pragma once
5 |
6 | #if defined(_MSC_VER) && (_MSC_VER >= 1020)
7 | # pragma once
8 | #endif
9 |
10 | //
11 | // boost/detail/lwm_nop.hpp
12 | //
13 | // Copyright (c) 2002 Peter Dimov and Multi Media Ltd.
14 | //
15 | // Distributed under the Boost Software License, Version 1.0. (See
16 | // accompanying file LICENSE_1_0.txt or copy at
17 | // http://www.boost.org/LICENSE_1_0.txt)
18 | //
19 |
20 | namespace boost
21 | {
22 |
23 | namespace detail
24 | {
25 |
26 | class lightweight_mutex
27 | {
28 | public:
29 |
30 | typedef lightweight_mutex scoped_lock;
31 | };
32 |
33 | } // namespace detail
34 |
35 | } // namespace boost
36 |
37 | #endif // #ifndef BOOST_SMART_PTR_DETAIL_LWM_NOP_HPP_INCLUDED
38 |
--------------------------------------------------------------------------------
/deps/boost/mpl/int_fwd.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_INT_FWD_HPP_INCLUDED
3 | #define BOOST_MPL_INT_FWD_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2000-2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: int_fwd.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 | #include
18 | #include
19 |
20 | BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
21 |
22 | template< BOOST_MPL_AUX_NTTP_DECL(int, N) > struct int_;
23 |
24 | BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
25 | BOOST_MPL_AUX_ADL_BARRIER_DECL(int_)
26 |
27 | #endif // BOOST_MPL_INT_FWD_HPP_INCLUDED
28 |
--------------------------------------------------------------------------------
/deps/boost/config/abi_suffix.hpp:
--------------------------------------------------------------------------------
1 | // abi_sufffix header -------------------------------------------------------//
2 |
3 | // (c) Copyright John Maddock 2003
4 |
5 | // Use, modification and distribution are subject to the Boost Software License,
6 | // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt).
8 |
9 | // This header should be #included AFTER code that was preceded by a #include
10 | // .
11 |
12 | #ifndef BOOST_CONFIG_ABI_PREFIX_HPP
13 | # error Header boost/config/abi_suffix.hpp must only be used after boost/config/abi_prefix.hpp
14 | #else
15 | # undef BOOST_CONFIG_ABI_PREFIX_HPP
16 | #endif
17 |
18 | // the suffix header occurs after all of our code:
19 | #ifdef BOOST_HAS_ABI_HEADERS
20 | # include BOOST_ABI_SUFFIX
21 | #endif
22 |
23 | #if defined( __BORLANDC__ )
24 | #pragma nopushoptwarn
25 | #endif
26 |
27 |
28 |
--------------------------------------------------------------------------------
/deps/boost/mpl/aux_/na_fwd.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_AUX_NA_FWD_HPP_INCLUDED
3 | #define BOOST_MPL_AUX_NA_FWD_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2001-2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: na_fwd.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 | #include
18 |
19 | BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
20 |
21 | // n.a. == not available
22 | struct na
23 | {
24 | typedef na type;
25 | enum { value = 0 };
26 | };
27 |
28 | BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
29 | BOOST_MPL_AUX_ADL_BARRIER_DECL(na)
30 |
31 | #endif // BOOST_MPL_AUX_NA_FWD_HPP_INCLUDED
32 |
--------------------------------------------------------------------------------
/deps/boost/preprocessor/iteration/self.hpp:
--------------------------------------------------------------------------------
1 | # /* **************************************************************************
2 | # * *
3 | # * (C) Copyright Paul Mensonides 2002.
4 | # * Distributed under the Boost Software License, Version 1.0. (See
5 | # * accompanying file LICENSE_1_0.txt or copy at
6 | # * http://www.boost.org/LICENSE_1_0.txt)
7 | # * *
8 | # ************************************************************************** */
9 | #
10 | # /* See http://www.boost.org for most recent version. */
11 | #
12 | # ifndef BOOST_PREPROCESSOR_ITERATION_SELF_HPP
13 | # define BOOST_PREPROCESSOR_ITERATION_SELF_HPP
14 | #
15 | # /* BOOST_PP_INCLUDE_SELF */
16 | #
17 | # define BOOST_PP_INCLUDE_SELF()
18 | #
19 | # endif
20 |
--------------------------------------------------------------------------------
/deps/boost/type_traits/detail/false_result.hpp:
--------------------------------------------------------------------------------
1 | // Copyright David Abrahams 2002.
2 | // Use, modification and distribution are subject to the Boost Software License,
3 | // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
4 | // http://www.boost.org/LICENSE_1_0.txt).
5 | //
6 | // See http://www.boost.org/libs/type_traits for most recent version including documentation.
7 |
8 |
9 | #ifndef BOOST_TT_DETAIL_FALSE_RESULT_HPP_INCLUDED
10 | #define BOOST_TT_DETAIL_FALSE_RESULT_HPP_INCLUDED
11 |
12 | #include
13 |
14 | namespace boost {
15 | namespace type_traits {
16 |
17 | // Utility class which always "returns" false
18 | struct false_result
19 | {
20 | template struct result_
21 | {
22 | BOOST_STATIC_CONSTANT(bool, value = false);
23 | };
24 | };
25 |
26 | }} // namespace boost::type_traits
27 |
28 | #endif // BOOST_TT_DETAIL_FALSE_RESULT_HPP_INCLUDED
29 |
--------------------------------------------------------------------------------
/deps/boost/config/compiler/sgi_mipspro.hpp:
--------------------------------------------------------------------------------
1 | // (C) Copyright John Maddock 2001 - 2002.
2 | // Use, modification and distribution are subject to the
3 | // Boost Software License, Version 1.0. (See accompanying file
4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 |
6 | // See http://www.boost.org for most recent version.
7 |
8 | // SGI C++ compiler setup:
9 |
10 | #define BOOST_COMPILER "SGI Irix compiler version " BOOST_STRINGIZE(_COMPILER_VERSION)
11 |
12 | #include "boost/config/compiler/common_edg.hpp"
13 |
14 | //
15 | // Threading support:
16 | // Turn this on unconditionally here, it will get turned off again later
17 | // if no threading API is detected.
18 | //
19 | #define BOOST_HAS_THREADS
20 | #define BOOST_NO_TWO_PHASE_NAME_LOOKUP
21 |
22 | #undef BOOST_NO_SWPRINTF
23 | #undef BOOST_DEDUCED_TYPENAME
24 |
25 | //
26 | // version check:
27 | // probably nothing to do here?
28 |
29 |
30 |
--------------------------------------------------------------------------------
/deps/boost/config/platform/qnxnto.hpp:
--------------------------------------------------------------------------------
1 | // (C) Copyright Jim Douglas 2005.
2 | // Use, modification and distribution are subject to the
3 | // Boost Software License, Version 1.0. (See accompanying file
4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 |
6 | // See http://www.boost.org for most recent version.
7 |
8 | // QNX specific config options:
9 |
10 | #define BOOST_PLATFORM "QNX"
11 |
12 | #define BOOST_HAS_UNISTD_H
13 | #include
14 |
15 | // QNX claims XOpen version 5 compatibility, but doesn't have an nl_types.h
16 | // or log1p and expm1:
17 | #undef BOOST_HAS_NL_TYPES_H
18 | #undef BOOST_HAS_LOG1P
19 | #undef BOOST_HAS_EXPM1
20 |
21 | #define BOOST_HAS_PTHREADS
22 | #define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
23 |
24 | #define BOOST_HAS_GETTIMEOFDAY
25 | #define BOOST_HAS_CLOCK_GETTIME
26 | #define BOOST_HAS_NANOSLEEP
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/deps/boost/mpl/aux_/config/static_constant.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED
3 | #define BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2000-2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: static_constant.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 | #if !defined(BOOST_MPL_PREPROCESSING_MODE)
18 | // BOOST_STATIC_CONSTANT is defined here:
19 | # include
20 | #else
21 | // undef the macro for the preprocessing mode
22 | # undef BOOST_STATIC_CONSTANT
23 | #endif
24 |
25 | #endif // BOOST_MPL_AUX_CONFIG_STATIC_CONSTANT_HPP_INCLUDED
26 |
--------------------------------------------------------------------------------
/deps/boost/config/abi/msvc_prefix.hpp:
--------------------------------------------------------------------------------
1 | // (C) Copyright John Maddock 2003.
2 | // Use, modification and distribution are subject to the
3 | // Boost Software License, Version 1.0. (See accompanying file
4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 |
6 | //
7 | // Boost binaries are built with the compiler's default ABI settings,
8 | // if the user changes their default alignment in the VS IDE then their
9 | // code will no longer be binary compatible with the bjam built binaries
10 | // unless this header is included to force Boost code into a consistent ABI.
11 | //
12 | // Note that inclusion of this header is only necessary for libraries with
13 | // separate source, header only libraries DO NOT need this as long as all
14 | // translation units are built with the same options.
15 | //
16 | #if defined(_M_X64)
17 | # pragma pack(push,16)
18 | #else
19 | # pragma pack(push,8)
20 | #endif
21 |
22 |
23 |
--------------------------------------------------------------------------------
/deps/boost/mpl/aux_/lambda_arity_param.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED
3 | #define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2001-2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: lambda_arity_param.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 | #include
18 |
19 | #if !defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING)
20 | # define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param)
21 | #else
22 | # define BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(param) , param
23 | #endif
24 |
25 | #endif // BOOST_MPL_AUX_LAMBDA_ARITY_PARAM_HPP_INCLUDED
26 |
--------------------------------------------------------------------------------
/deps/boost/type_traits/detail/ice_not.hpp:
--------------------------------------------------------------------------------
1 | // (C) Copyright John Maddock and Steve Cleary 2000.
2 | // Use, modification and distribution are subject to the Boost Software License,
3 | // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
4 | // http://www.boost.org/LICENSE_1_0.txt).
5 | //
6 | // See http://www.boost.org/libs/type_traits for most recent version including documentation.
7 |
8 | #ifndef BOOST_TT_DETAIL_ICE_NOT_HPP_INCLUDED
9 | #define BOOST_TT_DETAIL_ICE_NOT_HPP_INCLUDED
10 |
11 | #include
12 |
13 | namespace boost {
14 | namespace type_traits {
15 |
16 | template
17 | struct ice_not
18 | {
19 | BOOST_STATIC_CONSTANT(bool, value = true);
20 | };
21 |
22 | template <>
23 | struct ice_not
24 | {
25 | BOOST_STATIC_CONSTANT(bool, value = false);
26 | };
27 |
28 | } // namespace type_traits
29 | } // namespace boost
30 |
31 | #endif // BOOST_TT_DETAIL_ICE_NOT_HPP_INCLUDED
32 |
--------------------------------------------------------------------------------
/deps/boost/config/platform/irix.hpp:
--------------------------------------------------------------------------------
1 | // (C) Copyright John Maddock 2001 - 2003.
2 | // (C) Copyright Jens Maurer 2003.
3 | // Use, modification and distribution are subject to the
4 | // Boost Software License, Version 1.0. (See accompanying file
5 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 |
7 |
8 | // See http://www.boost.org for most recent version.
9 |
10 | // SGI Irix specific config options:
11 |
12 | #define BOOST_PLATFORM "SGI Irix"
13 |
14 | #define BOOST_NO_SWPRINTF
15 | //
16 | // these are not auto detected by POSIX feature tests:
17 | //
18 | #define BOOST_HAS_GETTIMEOFDAY
19 | #define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
20 |
21 | #ifdef __GNUC__
22 | // GNU C on IRIX does not support threads (checked up to gcc 3.3)
23 | # define BOOST_DISABLE_THREADS
24 | #endif
25 |
26 | // boilerplate code:
27 | #define BOOST_HAS_UNISTD_H
28 | #include
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/deps/boost/preprocessor/iteration/detail/self.hpp:
--------------------------------------------------------------------------------
1 | # /* **************************************************************************
2 | # * *
3 | # * (C) Copyright Paul Mensonides 2002.
4 | # * Distributed under the Boost Software License, Version 1.0. (See
5 | # * accompanying file LICENSE_1_0.txt or copy at
6 | # * http://www.boost.org/LICENSE_1_0.txt)
7 | # * *
8 | # ************************************************************************** */
9 | #
10 | # /* See http://www.boost.org for most recent version. */
11 | #
12 | # if !defined(BOOST_PP_INDIRECT_SELF)
13 | # error BOOST_PP_ERROR: no indirect file to include
14 | # endif
15 | #
16 | # define BOOST_PP_IS_SELFISH 1
17 | #
18 | # include BOOST_PP_INDIRECT_SELF
19 | #
20 | # undef BOOST_PP_IS_SELFISH
21 | # undef BOOST_PP_INDIRECT_SELF
22 |
--------------------------------------------------------------------------------
/deps/boost/config/compiler/greenhills.hpp:
--------------------------------------------------------------------------------
1 | // (C) Copyright John Maddock 2001.
2 | // Use, modification and distribution are subject to the
3 | // Boost Software License, Version 1.0. (See accompanying file
4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 |
6 | // See http://www.boost.org for most recent version.
7 |
8 | // Greenhills C++ compiler setup:
9 |
10 | #define BOOST_COMPILER "Greenhills C++ version " BOOST_STRINGIZE(__ghs)
11 |
12 | #include "boost/config/compiler/common_edg.hpp"
13 |
14 | //
15 | // versions check:
16 | // we don't support Greenhills prior to version 0:
17 | #if __ghs < 0
18 | # error "Compiler not supported or configured - please reconfigure"
19 | #endif
20 | //
21 | // last known and checked version is 0:
22 | #if (__ghs > 0)
23 | # if defined(BOOST_ASSERT_CONFIG)
24 | # error "Unknown compiler version - please run the configure tests and report the results"
25 | # endif
26 | #endif
27 |
28 |
29 |
--------------------------------------------------------------------------------
/deps/boost/mpl/integral_c_tag.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED
3 | #define BOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: integral_c_tag.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 |
18 | #include
19 | #include
20 |
21 | BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
22 | struct integral_c_tag { BOOST_STATIC_CONSTANT(int, value = 0); };
23 | BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
24 | BOOST_MPL_AUX_ADL_BARRIER_DECL(integral_c_tag)
25 |
26 | #endif // BOOST_MPL_INTEGRAL_C_TAG_HPP_INCLUDED
27 |
--------------------------------------------------------------------------------
/deps/boost/mpl/size_t_fwd.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_SIZE_T_FWD_HPP_INCLUDED
3 | #define BOOST_MPL_SIZE_T_FWD_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2000-2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: size_t_fwd.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 | #include
18 | #include // make sure 'size_t' is placed into 'std'
19 | #include
20 |
21 | BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
22 |
23 | template< std::size_t N > struct size_t;
24 |
25 | BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
26 | BOOST_MPL_AUX_ADL_BARRIER_DECL(size_t)
27 |
28 | #endif // BOOST_MPL_SIZE_T_FWD_HPP_INCLUDED
29 |
--------------------------------------------------------------------------------
/deps/boost/config/compiler/nvcc.hpp:
--------------------------------------------------------------------------------
1 | // (C) Copyright Eric Jourdanneau, Joel Falcou 2010
2 | // Use, modification and distribution are subject to the
3 | // Boost Software License, Version 1.0. (See accompanying file
4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 |
6 | // See http://www.boost.org for most recent version.
7 |
8 | // NVIDIA CUDA C++ compiler setup
9 |
10 | #ifndef BOOST_COMPILER
11 | # define BOOST_COMPILER "NVIDIA CUDA C++ Compiler"
12 | #endif
13 |
14 | // NVIDIA Specific support
15 | // BOOST_GPU_ENABLED : Flag a function or a method as being enabled on the host and device
16 | #define BOOST_GPU_ENABLED __host__ __device__
17 |
18 | // Boost support macro for NVCC
19 | // NVCC Basically behaves like some flavor of MSVC6 + some specific quirks
20 | #ifdef __GNUC__
21 |
22 | #include
23 |
24 | #elif defined(_MSC_VER)
25 |
26 | #include
27 |
28 | #endif
29 |
--------------------------------------------------------------------------------
/deps/boost/config/no_tr1/cmath.hpp:
--------------------------------------------------------------------------------
1 | // (C) Copyright John Maddock 2008.
2 | // Use, modification and distribution are subject to the
3 | // Boost Software License, Version 1.0. (See accompanying file
4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 | //
6 | // The aim of this header is just to include but to do
7 | // so in a way that does not result in recursive inclusion of
8 | // the Boost TR1 components if boost/tr1/tr1/cmath is in the
9 | // include search path. We have to do this to avoid circular
10 | // dependencies:
11 | //
12 |
13 | #ifndef BOOST_CONFIG_CMATH
14 | # define BOOST_CONFIG_CMATH
15 |
16 | # ifndef BOOST_TR1_NO_RECURSION
17 | # define BOOST_TR1_NO_RECURSION
18 | # define BOOST_CONFIG_NO_CMATH_RECURSION
19 | # endif
20 |
21 | # include
22 |
23 | # ifdef BOOST_CONFIG_NO_CMATH_RECURSION
24 | # undef BOOST_TR1_NO_RECURSION
25 | # undef BOOST_CONFIG_NO_CMATH_RECURSION
26 | # endif
27 |
28 | #endif
29 |
--------------------------------------------------------------------------------
/deps/boost/config/platform/vxworks.hpp:
--------------------------------------------------------------------------------
1 | // (C) Copyright Dustin Spicuzza 2009.
2 | // Use, modification and distribution are subject to the
3 | // Boost Software License, Version 1.0. (See accompanying file
4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 |
6 | // See http://www.boost.org for most recent version.
7 |
8 | // vxWorks specific config options:
9 |
10 | #define BOOST_PLATFORM "vxWorks"
11 |
12 | #define BOOST_NO_CWCHAR
13 | #define BOOST_NO_INTRINSIC_WCHAR_T
14 |
15 | #if defined(__GNUC__) && defined(__STRICT_ANSI__)
16 | #define BOOST_NO_INT64_T
17 | #endif
18 |
19 | #define BOOST_HAS_UNISTD_H
20 |
21 | // these allow posix_features to work, since vxWorks doesn't
22 | // define them itself
23 | #define _POSIX_TIMERS 1
24 | #define _POSIX_THREADS 1
25 |
26 | // vxworks doesn't work with asio serial ports
27 | #define BOOST_ASIO_DISABLE_SERIAL_PORT
28 |
29 | // boilerplate code:
30 | #include
31 |
32 |
--------------------------------------------------------------------------------
/deps/boost/config/no_tr1/memory.hpp:
--------------------------------------------------------------------------------
1 | // (C) Copyright John Maddock 2005.
2 | // Use, modification and distribution are subject to the
3 | // Boost Software License, Version 1.0. (See accompanying file
4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 | //
6 | // The aim of this header is just to include but to do
7 | // so in a way that does not result in recursive inclusion of
8 | // the Boost TR1 components if boost/tr1/tr1/memory is in the
9 | // include search path. We have to do this to avoid circular
10 | // dependencies:
11 | //
12 |
13 | #ifndef BOOST_CONFIG_MEMORY
14 | # define BOOST_CONFIG_MEMORY
15 |
16 | # ifndef BOOST_TR1_NO_RECURSION
17 | # define BOOST_TR1_NO_RECURSION
18 | # define BOOST_CONFIG_NO_MEMORY_RECURSION
19 | # endif
20 |
21 | # include
22 |
23 | # ifdef BOOST_CONFIG_NO_MEMORY_RECURSION
24 | # undef BOOST_TR1_NO_RECURSION
25 | # undef BOOST_CONFIG_NO_MEMORY_RECURSION
26 | # endif
27 |
28 | #endif
29 |
--------------------------------------------------------------------------------
/deps/boost/config/no_tr1/complex.hpp:
--------------------------------------------------------------------------------
1 | // (C) Copyright John Maddock 2005.
2 | // Use, modification and distribution are subject to the
3 | // Boost Software License, Version 1.0. (See accompanying file
4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 | //
6 | // The aim of this header is just to include but to do
7 | // so in a way that does not result in recursive inclusion of
8 | // the Boost TR1 components if boost/tr1/tr1/complex is in the
9 | // include search path. We have to do this to avoid circular
10 | // dependencies:
11 | //
12 |
13 | #ifndef BOOST_CONFIG_COMPLEX
14 | # define BOOST_CONFIG_COMPLEX
15 |
16 | # ifndef BOOST_TR1_NO_RECURSION
17 | # define BOOST_TR1_NO_RECURSION
18 | # define BOOST_CONFIG_NO_COMPLEX_RECURSION
19 | # endif
20 |
21 | # include
22 |
23 | # ifdef BOOST_CONFIG_NO_COMPLEX_RECURSION
24 | # undef BOOST_TR1_NO_RECURSION
25 | # undef BOOST_CONFIG_NO_COMPLEX_RECURSION
26 | # endif
27 |
28 | #endif
29 |
--------------------------------------------------------------------------------
/deps/boost/config/no_tr1/utility.hpp:
--------------------------------------------------------------------------------
1 | // (C) Copyright John Maddock 2005.
2 | // Use, modification and distribution are subject to the
3 | // Boost Software License, Version 1.0. (See accompanying file
4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 | //
6 | // The aim of this header is just to include but to do
7 | // so in a way that does not result in recursive inclusion of
8 | // the Boost TR1 components if boost/tr1/tr1/utility is in the
9 | // include search path. We have to do this to avoid circular
10 | // dependencies:
11 | //
12 |
13 | #ifndef BOOST_CONFIG_UTILITY
14 | # define BOOST_CONFIG_UTILITY
15 |
16 | # ifndef BOOST_TR1_NO_RECURSION
17 | # define BOOST_TR1_NO_RECURSION
18 | # define BOOST_CONFIG_NO_UTILITY_RECURSION
19 | # endif
20 |
21 | # include
22 |
23 | # ifdef BOOST_CONFIG_NO_UTILITY_RECURSION
24 | # undef BOOST_TR1_NO_RECURSION
25 | # undef BOOST_CONFIG_NO_UTILITY_RECURSION
26 | # endif
27 |
28 | #endif
29 |
--------------------------------------------------------------------------------
/deps/boost/mpl/aux_/static_cast.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED
3 | #define BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2001-2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: static_cast.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 | #include
18 |
19 | #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x561)) \
20 | || BOOST_WORKAROUND(__GNUC__, < 3) \
21 | || BOOST_WORKAROUND(__MWERKS__, <= 0x3001)
22 | # define BOOST_MPL_AUX_STATIC_CAST(T, expr) (T)(expr)
23 | #else
24 | # define BOOST_MPL_AUX_STATIC_CAST(T, expr) static_cast(expr)
25 | #endif
26 |
27 | #endif // BOOST_MPL_AUX_STATIC_CAST_HPP_INCLUDED
28 |
--------------------------------------------------------------------------------
/deps/boost/config/no_tr1/functional.hpp:
--------------------------------------------------------------------------------
1 | // (C) Copyright John Maddock 2005.
2 | // Use, modification and distribution are subject to the
3 | // Boost Software License, Version 1.0. (See accompanying file
4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 | //
6 | // The aim of this header is just to include but to do
7 | // so in a way that does not result in recursive inclusion of
8 | // the Boost TR1 components if boost/tr1/tr1/functional is in the
9 | // include search path. We have to do this to avoid circular
10 | // dependencies:
11 | //
12 |
13 | #ifndef BOOST_CONFIG_FUNCTIONAL
14 | # define BOOST_CONFIG_FUNCTIONAL
15 |
16 | # ifndef BOOST_TR1_NO_RECURSION
17 | # define BOOST_TR1_NO_RECURSION
18 | # define BOOST_CONFIG_NO_FUNCTIONAL_RECURSION
19 | # endif
20 |
21 | # include
22 |
23 | # ifdef BOOST_CONFIG_NO_FUNCTIONAL_RECURSION
24 | # undef BOOST_TR1_NO_RECURSION
25 | # undef BOOST_CONFIG_NO_FUNCTIONAL_RECURSION
26 | # endif
27 |
28 | #endif
29 |
--------------------------------------------------------------------------------
/deps/boost/mpl/bool_fwd.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_BOOL_FWD_HPP_INCLUDED
3 | #define BOOST_MPL_BOOL_FWD_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2000-2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: bool_fwd.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 | #include
18 |
19 | BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
20 |
21 | template< bool C_ > struct bool_;
22 |
23 | // shorcuts
24 | typedef bool_ true_;
25 | typedef bool_ false_;
26 |
27 | BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
28 |
29 | BOOST_MPL_AUX_ADL_BARRIER_DECL(bool_)
30 | BOOST_MPL_AUX_ADL_BARRIER_DECL(true_)
31 | BOOST_MPL_AUX_ADL_BARRIER_DECL(false_)
32 |
33 | #endif // BOOST_MPL_BOOL_FWD_HPP_INCLUDED
34 |
--------------------------------------------------------------------------------
/examples/test_expected_minimal.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2013 Martin Moene.
2 | //
3 | // Use, modification, and distribution is subject to the Boost Software
4 | // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
5 | // http://www.boost.org/LICENSE_1_0.txt)
6 |
7 | #include "expected_minimal.hpp"
8 |
9 | #include
10 | #include
11 |
12 | int main()
13 | {
14 | try
15 | {
16 | expected e0;
17 | expected ei{ 7 };
18 | expected ee{ nullexp,
19 | std::make_exception_ptr(std::runtime_error("disengaged")) };
20 |
21 | std::cout << "ei.value(): "; std::cout << ei.value() << std::endl;
22 | std::cout << "ee.value(): "; std::cout << ee.value() << std::endl;
23 | }
24 | catch ( std::exception const & e )
25 | {
26 | std::cout << "Error: " << e.what() << std::endl;
27 | }
28 | }
29 |
30 | // g++ -Wall -Wextra -std=c++11 -o test_expected_minimal.exe test_expected_minimal.cpp && test_expected_minimal
31 |
--------------------------------------------------------------------------------
/deps/boost/type_traits/is_rvalue_reference.hpp:
--------------------------------------------------------------------------------
1 |
2 | // (C) John Maddock 2010.
3 | // Use, modification and distribution are subject to the Boost Software License,
4 | // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
5 | // http://www.boost.org/LICENSE_1_0.txt).
6 | //
7 | // See http://www.boost.org/libs/type_traits for most recent version including documentation.
8 |
9 | #ifndef BOOST_TT_IS_RVALUE_REFERENCE_HPP_INCLUDED
10 | #define BOOST_TT_IS_RVALUE_REFERENCE_HPP_INCLUDED
11 |
12 | #include
13 |
14 | // should be the last #include
15 | #include
16 |
17 | namespace boost {
18 |
19 | BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_rvalue_reference,T,false)
20 | #ifndef BOOST_NO_RVALUE_REFERENCES
21 | BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1(typename T,is_rvalue_reference,T&&,true)
22 | #endif
23 |
24 | } // namespace boost
25 |
26 | #include
27 |
28 | #endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED
29 |
30 |
--------------------------------------------------------------------------------
/examples/test_expected_use_policy.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2013 Martin Moene.
2 | //
3 | // Use, modification, and distribution is subject to the Boost Software
4 | // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
5 | // http://www.boost.org/LICENSE_1_0.txt)
6 |
7 | #include "expected_use_policy.hpp"
8 |
9 | #include
10 |
11 | int main()
12 | {
13 | try
14 | {
15 | expected ei{ 77 };
16 |
17 | std::cout << "not using ei.value(): \n";
18 | }
19 | catch ( std::exception const & e )
20 | {
21 | std::cout << "Error: " << e.what() << std::endl;
22 | }
23 |
24 | try
25 | {
26 | expected er{ 777 };
27 |
28 | std::cout << "not using er.value(): ";
29 | }
30 | catch ( std::exception const & e )
31 | {
32 | std::cout << "Error: " << e.what() << std::endl;
33 | }
34 | }
35 |
36 | // g++ -Wall -Wextra -std=c++11 -o test_expected_use_policy.exe test_expected_use_policy.cpp && test_expected_use_policy
37 |
--------------------------------------------------------------------------------
/deps/boost/config/platform/aix.hpp:
--------------------------------------------------------------------------------
1 | // (C) Copyright John Maddock 2001 - 2002.
2 | // Use, modification and distribution are subject to the
3 | // Boost Software License, Version 1.0. (See accompanying file
4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 |
6 | // See http://www.boost.org for most recent version.
7 |
8 | // IBM/Aix specific config options:
9 |
10 | #define BOOST_PLATFORM "IBM Aix"
11 |
12 | #define BOOST_HAS_UNISTD_H
13 | #define BOOST_HAS_NL_TYPES_H
14 | #define BOOST_HAS_NANOSLEEP
15 | #define BOOST_HAS_CLOCK_GETTIME
16 |
17 | // This needs support in "boost/cstdint.hpp" exactly like FreeBSD.
18 | // This platform has header named which includes all
19 | // the things needed.
20 | #define BOOST_HAS_STDINT_H
21 |
22 | // Threading API's:
23 | #define BOOST_HAS_PTHREADS
24 | #define BOOST_HAS_PTHREAD_DELAY_NP
25 | #define BOOST_HAS_SCHED_YIELD
26 | //#define BOOST_HAS_PTHREAD_YIELD
27 |
28 | // boilerplate code:
29 | #include
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/deps/boost/preprocessor/control/if.hpp:
--------------------------------------------------------------------------------
1 | # /* Copyright (C) 2001
2 | # * Housemarque Oy
3 | # * http://www.housemarque.com
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 | # */
9 | #
10 | # /* Revised by Paul Mensonides (2002) */
11 | #
12 | # /* See http://www.boost.org for most recent version. */
13 | #
14 | # ifndef BOOST_PREPROCESSOR_CONTROL_IF_HPP
15 | # define BOOST_PREPROCESSOR_CONTROL_IF_HPP
16 | #
17 | # include
18 | # include
19 | # include
20 | #
21 | # /* BOOST_PP_IF */
22 | #
23 | # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
24 | # define BOOST_PP_IF(cond, t, f) BOOST_PP_IIF(BOOST_PP_BOOL(cond), t, f)
25 | # else
26 | # define BOOST_PP_IF(cond, t, f) BOOST_PP_IF_I(cond, t, f)
27 | # define BOOST_PP_IF_I(cond, t, f) BOOST_PP_IIF(BOOST_PP_BOOL(cond), t, f)
28 | # endif
29 | #
30 | # endif
31 |
--------------------------------------------------------------------------------
/deps/boost/mpl/aux_/config/ctps.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED
3 | #define BOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2000-2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: ctps.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 | #include
18 | #include
19 |
20 | #if !defined(BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC) \
21 | && !defined(BOOST_MPL_PREPROCESSING_MODE) \
22 | && BOOST_WORKAROUND(__BORLANDC__, < 0x582)
23 |
24 | # define BOOST_MPL_CFG_NO_NONTYPE_TEMPLATE_PARTIAL_SPEC
25 |
26 | #endif
27 |
28 | // BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION is defined in
29 |
30 | #endif // BOOST_MPL_AUX_CONFIG_CTPS_HPP_INCLUDED
31 |
--------------------------------------------------------------------------------
/deps/boost/preprocessor/logical/and.hpp:
--------------------------------------------------------------------------------
1 | # /* Copyright (C) 2001
2 | # * Housemarque Oy
3 | # * http://www.housemarque.com
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 | # */
9 | #
10 | # /* Revised by Paul Mensonides (2002) */
11 | #
12 | # /* See http://www.boost.org for most recent version. */
13 | #
14 | # ifndef BOOST_PREPROCESSOR_LOGICAL_AND_HPP
15 | # define BOOST_PREPROCESSOR_LOGICAL_AND_HPP
16 | #
17 | # include
18 | # include
19 | # include
20 | #
21 | # /* BOOST_PP_AND */
22 | #
23 | # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
24 | # define BOOST_PP_AND(p, q) BOOST_PP_BITAND(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q))
25 | # else
26 | # define BOOST_PP_AND(p, q) BOOST_PP_AND_I(p, q)
27 | # define BOOST_PP_AND_I(p, q) BOOST_PP_BITAND(BOOST_PP_BOOL(p), BOOST_PP_BOOL(q))
28 | # endif
29 | #
30 | # endif
31 |
--------------------------------------------------------------------------------
/deps/boost/mpl/aux_/config/arrays.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED
3 | #define BOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2003-2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: arrays.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 | #include
18 | #include
19 |
20 | #if !defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES) \
21 | && !defined(BOOST_MPL_PREPROCESSING_MODE) \
22 | && ( BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
23 | || BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
24 | )
25 |
26 | # define BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES
27 |
28 | #endif
29 |
30 | #endif // BOOST_MPL_AUX_CONFIG_ARRAYS_HPP_INCLUDED
31 |
--------------------------------------------------------------------------------
/deps/boost/mpl/aux_/config/overload_resolution.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED
3 | #define BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2002-2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: overload_resolution.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 | #include
18 |
19 | #if !defined(BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION) \
20 | && !defined(BOOST_MPL_PREPROCESSING_MODE) \
21 | && ( BOOST_WORKAROUND(__BORLANDC__, < 0x590) \
22 | || BOOST_WORKAROUND(__MWERKS__, < 0x3001) \
23 | )
24 |
25 | # define BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION
26 |
27 | #endif
28 |
29 | #endif // BOOST_MPL_AUX_CONFIG_OVERLOAD_RESOLUTION_HPP_INCLUDED
30 |
--------------------------------------------------------------------------------
/deps/boost/type_traits/detail/template_arity_spec.hpp:
--------------------------------------------------------------------------------
1 |
2 | // NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
3 |
4 | // Copyright Aleksey Gurtovoy 2002-2004
5 | //
6 | // Distributed under the Boost Software License, Version 1.0.
7 | // (See accompanying file LICENSE_1_0.txt or copy at
8 | // http://www.boost.org/LICENSE_1_0.txt)
9 |
10 | #include
11 | #include
12 | #include
13 | #include
14 | #include
15 |
16 | #if defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \
17 | && defined(BOOST_MPL_CFG_BROKEN_OVERLOAD_RESOLUTION)
18 | # define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i, name) \
19 | namespace mpl { namespace aux { \
20 | template< BOOST_MPL_PP_PARAMS(i, typename T) > \
21 | struct template_arity< \
22 | name< BOOST_MPL_PP_PARAMS(i, T) > \
23 | > \
24 | : int_ \
25 | { \
26 | }; \
27 | }} \
28 | /**/
29 | #else
30 | # define BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(i, name) /**/
31 | #endif
32 |
--------------------------------------------------------------------------------
/deps/boost/mpl/aux_/nttp_decl.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_AUX_NTTP_DECL_HPP_INCLUDED
3 | #define BOOST_MPL_AUX_NTTP_DECL_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2001-2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: nttp_decl.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 | #include
18 |
19 | #if defined(BOOST_MPL_CFG_NTTP_BUG)
20 |
21 | typedef bool _mpl_nttp_bool;
22 | typedef int _mpl_nttp_int;
23 | typedef unsigned _mpl_nttp_unsigned;
24 | typedef long _mpl_nttp_long;
25 |
26 | # include
27 | # define BOOST_MPL_AUX_NTTP_DECL(T, x) BOOST_PP_CAT(_mpl_nttp_,T) x /**/
28 |
29 | #else
30 |
31 | # define BOOST_MPL_AUX_NTTP_DECL(T, x) T x /**/
32 |
33 | #endif
34 |
35 | #endif // BOOST_MPL_AUX_NTTP_DECL_HPP_INCLUDED
36 |
--------------------------------------------------------------------------------
/deps/boost/preprocessor/cat.hpp:
--------------------------------------------------------------------------------
1 | # /* Copyright (C) 2001
2 | # * Housemarque Oy
3 | # * http://www.housemarque.com
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 | # */
9 | #
10 | # /* Revised by Paul Mensonides (2002) */
11 | #
12 | # /* See http://www.boost.org for most recent version. */
13 | #
14 | # ifndef BOOST_PREPROCESSOR_CAT_HPP
15 | # define BOOST_PREPROCESSOR_CAT_HPP
16 | #
17 | # include
18 | #
19 | # /* BOOST_PP_CAT */
20 | #
21 | # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
22 | # define BOOST_PP_CAT(a, b) BOOST_PP_CAT_I(a, b)
23 | # else
24 | # define BOOST_PP_CAT(a, b) BOOST_PP_CAT_OO((a, b))
25 | # define BOOST_PP_CAT_OO(par) BOOST_PP_CAT_I ## par
26 | # endif
27 | #
28 | # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
29 | # define BOOST_PP_CAT_I(a, b) a ## b
30 | # else
31 | # define BOOST_PP_CAT_I(a, b) BOOST_PP_CAT_II(~, a ## b)
32 | # define BOOST_PP_CAT_II(p, res) res
33 | # endif
34 | #
35 | # endif
36 |
--------------------------------------------------------------------------------
/deps/boost/type_traits/is_float.hpp:
--------------------------------------------------------------------------------
1 |
2 | // (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
3 | // Use, modification and distribution are subject to the Boost Software License,
4 | // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
5 | // http://www.boost.org/LICENSE_1_0.txt).
6 | //
7 | // See http://www.boost.org/libs/type_traits for most recent version including documentation.
8 |
9 | #ifndef BOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED
10 | #define BOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED
11 |
12 | // should be the last #include
13 | #include
14 |
15 | namespace boost {
16 |
17 | //* is a type T a floating-point type described in the standard (3.9.1p8)
18 | BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_float,T,false)
19 | BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_float,float,true)
20 | BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_float,double,true)
21 | BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_float,long double,true)
22 |
23 | } // namespace boost
24 |
25 | #include
26 |
27 | #endif // BOOST_TYPE_TRAITS_IS_FLOAT_HPP_INCLUDED
28 |
--------------------------------------------------------------------------------
/deps/boost/config/abi/borland_prefix.hpp:
--------------------------------------------------------------------------------
1 | // (C) Copyright John Maddock 2003.
2 | // Use, modification and distribution are subject to the
3 | // Boost Software License, Version 1.0. (See accompanying file
4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 |
6 | // for C++ Builder the following options effect the ABI:
7 | //
8 | // -b (on or off - effect emum sizes)
9 | // -Vx (on or off - empty members)
10 | // -Ve (on or off - empty base classes)
11 | // -aX (alignment - 5 options).
12 | // -pX (Calling convention - 4 options)
13 | // -VmX (member pointer size and layout - 5 options)
14 | // -VC (on or off, changes name mangling)
15 | // -Vl (on or off, changes struct layout).
16 |
17 | // In addition the following warnings are sufficiently annoying (and
18 | // unfixable) to have them turned off by default:
19 | //
20 | // 8027 - functions containing [for|while] loops are not expanded inline
21 | // 8026 - functions taking class by value arguments are not expanded inline
22 |
23 | #pragma nopushoptwarn
24 | # pragma option push -a8 -Vx- -Ve- -b- -pc -Vmv -VC- -Vl- -w-8027 -w-8026
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/deps/boost/type_traits/detail/bool_trait_undef.hpp:
--------------------------------------------------------------------------------
1 |
2 | // NO INCLUDE GUARDS, THE HEADER IS INTENDED FOR MULTIPLE INCLUSION
3 |
4 | // Copyright Aleksey Gurtovoy 2002-2004
5 | //
6 | // Distributed under the Boost Software License, Version 1.0.
7 | // (See accompanying file LICENSE_1_0.txt or copy at
8 | // http://www.boost.org/LICENSE_1_0.txt)
9 |
10 | // $Source$
11 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
12 | // $Revision: 1944 $
13 |
14 | #undef BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL
15 | #undef BOOST_TT_AUX_BOOL_C_BASE
16 | #undef BOOST_TT_AUX_BOOL_TRAIT_DEF1
17 | #undef BOOST_TT_AUX_BOOL_TRAIT_DEF2
18 | #undef BOOST_TT_AUX_BOOL_TRAIT_DEF3
19 | #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC1
20 | #undef BOOST_TT_AUX_BOOL_TRAIT_SPEC2
21 | #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC1
22 | #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_SPEC2
23 | #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_1
24 | #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC1_2
25 | #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_1
26 | #undef BOOST_TT_AUX_BOOL_TRAIT_PARTIAL_SPEC2_2
27 | #undef BOOST_TT_AUX_BOOL_TRAIT_IMPL_PARTIAL_SPEC2_1
28 | #undef BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1
29 |
--------------------------------------------------------------------------------
/deps/boost/config/stdlib/libcpp.hpp:
--------------------------------------------------------------------------------
1 | // (C) Copyright Christopher Jefferson 2011.
2 | // Use, modification and distribution are subject to the
3 | // Boost Software License, Version 1.0. (See accompanying file
4 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 |
6 | // See http://www.boost.org for most recent version.
7 |
8 | // config for libc++
9 | // Might need more in here later.
10 |
11 | #if !defined(_LIBCPP_VERSION)
12 | # include
13 | # if !defined(_LIBCPP_VERSION)
14 | # error "This is not libc++!"
15 | # endif
16 | #endif
17 |
18 | #define BOOST_STDLIB "libc++ version " BOOST_STRINGIZE(_LIBCPP_VERSION)
19 |
20 | #define BOOST_HAS_THREADS
21 |
22 | #ifdef _LIBCPP_HAS_NO_VARIADICS
23 | # define BOOST_NO_CXX11_HDR_TUPLE
24 | #endif
25 |
26 | //
27 | // These appear to be unusable/incomplete so far:
28 | //
29 | # define BOOST_NO_CXX11_HDR_CHRONO
30 | # define BOOST_NO_CXX11_HDR_FUTURE
31 | # define BOOST_NO_CXX11_HDR_TYPE_TRAITS
32 | # define BOOST_NO_CXX11_ATOMIC_SMART_PTR
33 |
34 | // libc++ uses a non-standard messages_base
35 | #define BOOST_NO_STD_MESSAGES
36 |
37 | // --- end ---
38 |
--------------------------------------------------------------------------------
/deps/boost/mpl/integral_c_fwd.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_INTEGRAL_C_FWD_HPP_INCLUDED
3 | #define BOOST_MPL_INTEGRAL_C_FWD_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2000-2006
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: integral_c_fwd.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 | #include
18 | #include
19 |
20 | BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
21 |
22 | #if BOOST_WORKAROUND(__HP_aCC, <= 53800)
23 | // the type of non-type template arguments may not depend on template arguments
24 | template< typename T, long N > struct integral_c;
25 | #else
26 | template< typename T, T N > struct integral_c;
27 | #endif
28 |
29 | BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
30 | BOOST_MPL_AUX_ADL_BARRIER_DECL(integral_c)
31 |
32 | #endif // BOOST_MPL_INTEGRAL_C_FWD_HPP_INCLUDED
33 |
--------------------------------------------------------------------------------
/deps/boost/type_traits/detail/ice_eq.hpp:
--------------------------------------------------------------------------------
1 | // (C) Copyright John Maddock and Steve Cleary 2000.
2 | // Use, modification and distribution are subject to the Boost Software License,
3 | // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
4 | // http://www.boost.org/LICENSE_1_0.txt).
5 | //
6 | // See http://www.boost.org/libs/type_traits for most recent version including documentation.
7 |
8 | #ifndef BOOST_TT_DETAIL_ICE_EQ_HPP_INCLUDED
9 | #define BOOST_TT_DETAIL_ICE_EQ_HPP_INCLUDED
10 |
11 | #include
12 |
13 | namespace boost {
14 | namespace type_traits {
15 |
16 | template
17 | struct ice_eq
18 | {
19 | BOOST_STATIC_CONSTANT(bool, value = (b1 == b2));
20 | };
21 |
22 | template
23 | struct ice_ne
24 | {
25 | BOOST_STATIC_CONSTANT(bool, value = (b1 != b2));
26 | };
27 |
28 | #ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
29 | template bool const ice_eq::value;
30 | template bool const ice_ne::value;
31 | #endif
32 |
33 | } // namespace type_traits
34 | } // namespace boost
35 |
36 | #endif // BOOST_TT_DETAIL_ICE_EQ_HPP_INCLUDED
37 |
--------------------------------------------------------------------------------
/deps/boost/mpl/aux_/config/lambda.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED
3 | #define BOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2002-2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: lambda.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 | #include
18 | #include
19 |
20 | // agurt, 15/jan/02: full-fledged implementation requires both
21 | // template template parameters _and_ partial specialization
22 |
23 | #if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT) \
24 | && ( defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) \
25 | || defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
26 | )
27 |
28 | # define BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
29 |
30 | #endif
31 |
32 | #endif // BOOST_MPL_AUX_CONFIG_LAMBDA_HPP_INCLUDED
33 |
--------------------------------------------------------------------------------
/deps/boost/type_traits/detail/ice_and.hpp:
--------------------------------------------------------------------------------
1 | // (C) Copyright John Maddock and Steve Cleary 2000.
2 | //
3 | // Use, modification and distribution are subject to the Boost Software License,
4 | // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
5 | // http://www.boost.org/LICENSE_1_0.txt).
6 | //
7 | // See http://www.boost.org/libs/type_traits for most recent version including documentation.
8 |
9 | #ifndef BOOST_TT_DETAIL_ICE_AND_HPP_INCLUDED
10 | #define BOOST_TT_DETAIL_ICE_AND_HPP_INCLUDED
11 |
12 | #include
13 |
14 | namespace boost {
15 | namespace type_traits {
16 |
17 | template
18 | struct ice_and;
19 |
20 | template
21 | struct ice_and
22 | {
23 | BOOST_STATIC_CONSTANT(bool, value = false);
24 | };
25 |
26 | template <>
27 | struct ice_and
28 | {
29 | BOOST_STATIC_CONSTANT(bool, value = true);
30 | };
31 |
32 | } // namespace type_traits
33 | } // namespace boost
34 |
35 | #endif // BOOST_TT_DETAIL_ICE_AND_HPP_INCLUDED
36 |
--------------------------------------------------------------------------------
/deps/boost/type_traits/detail/ice_or.hpp:
--------------------------------------------------------------------------------
1 | // (C) Copyright John Maddock and Steve Cleary 2000.
2 | // Use, modification and distribution are subject to the Boost Software License,
3 | // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
4 | // http://www.boost.org/LICENSE_1_0.txt).
5 | //
6 | // See http://www.boost.org/libs/type_traits for most recent version including documentation.
7 |
8 | #ifndef BOOST_TT_DETAIL_ICE_OR_HPP_INCLUDED
9 | #define BOOST_TT_DETAIL_ICE_OR_HPP_INCLUDED
10 |
11 | #include
12 |
13 | namespace boost {
14 | namespace type_traits {
15 |
16 | template
17 | struct ice_or;
18 |
19 | template
20 | struct ice_or
21 | {
22 | BOOST_STATIC_CONSTANT(bool, value = true);
23 | };
24 |
25 | template <>
26 | struct ice_or
27 | {
28 | BOOST_STATIC_CONSTANT(bool, value = false);
29 | };
30 |
31 | } // namespace type_traits
32 | } // namespace boost
33 |
34 | #endif // BOOST_TT_DETAIL_ICE_OR_HPP_INCLUDED
35 |
--------------------------------------------------------------------------------
/deps/boost/preprocessor/punctuation/comma_if.hpp:
--------------------------------------------------------------------------------
1 | # /* Copyright (C) 2001
2 | # * Housemarque Oy
3 | # * http://www.housemarque.com
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 | # */
9 | #
10 | # /* Revised by Paul Mensonides (2002) */
11 | #
12 | # /* See http://www.boost.org for most recent version. */
13 | #
14 | # ifndef BOOST_PREPROCESSOR_PUNCTUATION_COMMA_IF_HPP
15 | # define BOOST_PREPROCESSOR_PUNCTUATION_COMMA_IF_HPP
16 | #
17 | # include
18 | # include
19 | # include
20 | # include
21 | #
22 | # /* BOOST_PP_COMMA_IF */
23 | #
24 | # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
25 | # define BOOST_PP_COMMA_IF(cond) BOOST_PP_IF(cond, BOOST_PP_COMMA, BOOST_PP_EMPTY)()
26 | # else
27 | # define BOOST_PP_COMMA_IF(cond) BOOST_PP_COMMA_IF_I(cond)
28 | # define BOOST_PP_COMMA_IF_I(cond) BOOST_PP_IF(cond, BOOST_PP_COMMA, BOOST_PP_EMPTY)()
29 | # endif
30 | #
31 | # endif
32 |
--------------------------------------------------------------------------------
/deps/boost/config/compiler/kai.hpp:
--------------------------------------------------------------------------------
1 | // (C) Copyright John Maddock 2001.
2 | // (C) Copyright David Abrahams 2002.
3 | // (C) Copyright Aleksey Gurtovoy 2002.
4 | // Use, modification and distribution are subject to the
5 | // Boost Software License, Version 1.0. (See accompanying file
6 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7 |
8 | // See http://www.boost.org for most recent version.
9 |
10 | // Kai C++ compiler setup:
11 |
12 | #include "boost/config/compiler/common_edg.hpp"
13 |
14 | # if (__KCC_VERSION <= 4001) || !defined(BOOST_STRICT_CONFIG)
15 | // at least on Sun, the contents of is not in namespace std
16 | # define BOOST_NO_STDC_NAMESPACE
17 | # endif
18 |
19 | // see also common_edg.hpp which needs a special check for __KCC
20 | # if !defined(_EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)
21 | # define BOOST_NO_EXCEPTIONS
22 | # endif
23 |
24 | //
25 | // last known and checked version is 4001:
26 | #if (__KCC_VERSION > 4001)
27 | # if defined(BOOST_ASSERT_CONFIG)
28 | # error "Unknown compiler version - please run the configure tests and report the results"
29 | # endif
30 | #endif
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/deps/boost/mpl/bool.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_BOOL_HPP_INCLUDED
3 | #define BOOST_MPL_BOOL_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2000-2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: bool.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 | #include
18 | #include
19 | #include
20 |
21 | BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_OPEN
22 |
23 | template< bool C_ > struct bool_
24 | {
25 | BOOST_STATIC_CONSTANT(bool, value = C_);
26 | typedef integral_c_tag tag;
27 | typedef bool_ type;
28 | typedef bool value_type;
29 | operator bool() const { return this->value; }
30 | };
31 |
32 | #if !defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)
33 | template< bool C_ >
34 | bool const bool_::value;
35 | #endif
36 |
37 | BOOST_MPL_AUX_ADL_BARRIER_NAMESPACE_CLOSE
38 |
39 | #endif // BOOST_MPL_BOOL_HPP_INCLUDED
40 |
--------------------------------------------------------------------------------
/deps/boost/preprocessor/iteration/local.hpp:
--------------------------------------------------------------------------------
1 | # /* **************************************************************************
2 | # * *
3 | # * (C) Copyright Paul Mensonides 2002.
4 | # * Distributed under the Boost Software License, Version 1.0. (See
5 | # * accompanying file LICENSE_1_0.txt or copy at
6 | # * http://www.boost.org/LICENSE_1_0.txt)
7 | # * *
8 | # ************************************************************************** */
9 | #
10 | # /* See http://www.boost.org for most recent version. */
11 | #
12 | # ifndef BOOST_PREPROCESSOR_ITERATION_LOCAL_HPP
13 | # define BOOST_PREPROCESSOR_ITERATION_LOCAL_HPP
14 | #
15 | # include
16 | # include
17 | # include
18 | #
19 | # /* BOOST_PP_LOCAL_ITERATE */
20 | #
21 | # define BOOST_PP_LOCAL_ITERATE()
22 | #
23 | # define BOOST_PP_LOCAL_C(n) (BOOST_PP_LOCAL_S) <= n && (BOOST_PP_LOCAL_F) >= n
24 | # define BOOST_PP_LOCAL_R(n) (BOOST_PP_LOCAL_F) <= n && (BOOST_PP_LOCAL_S) >= n
25 | #
26 | # endif
27 |
--------------------------------------------------------------------------------
/deps/boost/version.hpp:
--------------------------------------------------------------------------------
1 | // Boost version.hpp configuration header file ------------------------------//
2 |
3 | // (C) Copyright John maddock 1999. Distributed under the Boost
4 | // Software License, Version 1.0. (See accompanying file
5 | // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 |
7 | // See http://www.boost.org/libs/config for documentation
8 |
9 | #ifndef BOOST_VERSION_HPP
10 | #define BOOST_VERSION_HPP
11 |
12 | //
13 | // Caution, this is the only boost header that is guarenteed
14 | // to change with every boost release, including this header
15 | // will cause a recompile every time a new boost version is
16 | // released.
17 | //
18 | // BOOST_VERSION % 100 is the patch level
19 | // BOOST_VERSION / 100 % 1000 is the minor version
20 | // BOOST_VERSION / 100000 is the major version
21 |
22 | #define BOOST_VERSION 105100
23 |
24 | //
25 | // BOOST_LIB_VERSION must be defined to be the same as BOOST_VERSION
26 | // but as a *string* in the form "x_y[_z]" where x is the major version
27 | // number, y is the minor version number, and z is the patch level if not 0.
28 | // This is used by to select which library version to link to.
29 |
30 | #define BOOST_LIB_VERSION "1_51"
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/deps/boost/preprocessor/facilities/overload.hpp:
--------------------------------------------------------------------------------
1 | # /* **************************************************************************
2 | # * *
3 | # * (C) Copyright Paul Mensonides 2011. *
4 | # * (C) Copyright Edward Diener 2011. *
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 | # * *
9 | # ************************************************************************** */
10 | #
11 | # /* See http://www.boost.org for most recent version. */
12 | #
13 | # ifndef BOOST_PREPROCESSOR_FACILITIES_OVERLOAD_HPP
14 | # define BOOST_PREPROCESSOR_FACILITIES_OVERLOAD_HPP
15 | #
16 | # include
17 | # include
18 | #
19 | # /* BOOST_PP_OVERLOAD */
20 | #
21 | # if BOOST_PP_VARIADICS
22 | # define BOOST_PP_OVERLOAD(prefix, ...) BOOST_PP_CAT(prefix, BOOST_PP_VARIADIC_SIZE(__VA_ARGS__))
23 | # endif
24 | #
25 | # endif
26 |
--------------------------------------------------------------------------------
/deps/boost/preprocessor/array/data.hpp:
--------------------------------------------------------------------------------
1 | # /* **************************************************************************
2 | # * *
3 | # * (C) Copyright Paul Mensonides 2002.
4 | # * Distributed under the Boost Software License, Version 1.0. (See
5 | # * accompanying file LICENSE_1_0.txt or copy at
6 | # * http://www.boost.org/LICENSE_1_0.txt)
7 | # * *
8 | # ************************************************************************** */
9 | #
10 | # /* See http://www.boost.org for most recent version. */
11 | #
12 | # ifndef BOOST_PREPROCESSOR_ARRAY_DATA_HPP
13 | # define BOOST_PREPROCESSOR_ARRAY_DATA_HPP
14 | #
15 | # include
16 | # include
17 | #
18 | # /* BOOST_PP_ARRAY_DATA */
19 | #
20 | # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
21 | # define BOOST_PP_ARRAY_DATA(array) BOOST_PP_TUPLE_ELEM(2, 1, array)
22 | # else
23 | # define BOOST_PP_ARRAY_DATA(array) BOOST_PP_ARRAY_DATA_I(array)
24 | # define BOOST_PP_ARRAY_DATA_I(array) BOOST_PP_ARRAY_DATA_II array
25 | # define BOOST_PP_ARRAY_DATA_II(size, data) data
26 | # endif
27 | #
28 | # endif
29 |
--------------------------------------------------------------------------------
/deps/boost/preprocessor/array/size.hpp:
--------------------------------------------------------------------------------
1 | # /* **************************************************************************
2 | # * *
3 | # * (C) Copyright Paul Mensonides 2002.
4 | # * Distributed under the Boost Software License, Version 1.0. (See
5 | # * accompanying file LICENSE_1_0.txt or copy at
6 | # * http://www.boost.org/LICENSE_1_0.txt)
7 | # * *
8 | # ************************************************************************** */
9 | #
10 | # /* See http://www.boost.org for most recent version. */
11 | #
12 | # ifndef BOOST_PREPROCESSOR_ARRAY_SIZE_HPP
13 | # define BOOST_PREPROCESSOR_ARRAY_SIZE_HPP
14 | #
15 | # include
16 | # include
17 | #
18 | # /* BOOST_PP_ARRAY_SIZE */
19 | #
20 | # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
21 | # define BOOST_PP_ARRAY_SIZE(array) BOOST_PP_TUPLE_ELEM(2, 0, array)
22 | # else
23 | # define BOOST_PP_ARRAY_SIZE(array) BOOST_PP_ARRAY_SIZE_I(array)
24 | # define BOOST_PP_ARRAY_SIZE_I(array) BOOST_PP_ARRAY_SIZE_II array
25 | # define BOOST_PP_ARRAY_SIZE_II(size, data) size
26 | # endif
27 | #
28 | # endif
29 |
--------------------------------------------------------------------------------
/deps/boost/mpl/aux_/config/nttp.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_AUX_CONFIG_NTTP_HPP_INCLUDED
3 | #define BOOST_MPL_AUX_CONFIG_NTTP_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2001-2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: nttp.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 | #include
18 | #include
19 |
20 | // MSVC 6.5 ICE-s on the code as simple as this (see "aux_/nttp_decl.hpp"
21 | // for a workaround):
22 | //
23 | // namespace std {
24 | // template< typename Char > struct string;
25 | // }
26 | //
27 | // void foo(std::string);
28 | //
29 | // namespace boost { namespace mpl {
30 | // template< int > struct arg;
31 | // }}
32 |
33 | #if !defined(BOOST_MPL_CFG_NTTP_BUG) \
34 | && !defined(BOOST_MPL_PREPROCESSING_MODE) \
35 | && BOOST_WORKAROUND(BOOST_MSVC, < 1300)
36 |
37 | # define BOOST_MPL_CFG_NTTP_BUG
38 |
39 | #endif
40 |
41 | #endif // BOOST_MPL_AUX_CONFIG_NTTP_HPP_INCLUDED
42 |
--------------------------------------------------------------------------------
/deps/boost/mpl/aux_/config/integral.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_AUX_CONFIG_INTEGRAL_HPP_INCLUDED
3 | #define BOOST_MPL_AUX_CONFIG_INTEGRAL_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: integral.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 | #include
18 | #include
19 |
20 | #if !defined(BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS) \
21 | && !defined(BOOST_MPL_PREPROCESSING_MODE) \
22 | && BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
23 |
24 | # define BOOST_MPL_CFG_BCC_INTEGRAL_CONSTANTS
25 |
26 | #endif
27 |
28 | #if !defined(BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC) \
29 | && !defined(BOOST_MPL_PREPROCESSING_MODE) \
30 | && ( BOOST_WORKAROUND(BOOST_MSVC, <= 1300) \
31 | || BOOST_WORKAROUND(__EDG_VERSION__, <= 238) \
32 | )
33 |
34 | # define BOOST_MPL_CFG_NO_NESTED_VALUE_ARITHMETIC
35 |
36 | #endif
37 |
38 | #endif // BOOST_MPL_AUX_CONFIG_INTEGRAL_HPP_INCLUDED
39 |
--------------------------------------------------------------------------------
/deps/boost/mpl/aux_/arity.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_AUX_ARITY_HPP_INCLUDED
3 | #define BOOST_MPL_AUX_ARITY_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2001-2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: arity.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 | #include
18 |
19 | #if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
20 |
21 | # include
22 | # include
23 |
24 | namespace boost { namespace mpl { namespace aux {
25 |
26 | // agurt, 15/mar/02: it's possible to implement the template so that it will
27 | // "just work" and do not require any specialization, but not on the compilers
28 | // that require the arity workaround in the first place
29 | template< typename F, BOOST_MPL_AUX_NTTP_DECL(int, N) >
30 | struct arity
31 | {
32 | BOOST_STATIC_CONSTANT(int, value = N);
33 | };
34 |
35 | }}}
36 |
37 | #endif // BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES
38 |
39 | #endif // BOOST_MPL_AUX_ARITY_HPP_INCLUDED
40 |
--------------------------------------------------------------------------------
/deps/boost/type_traits/is_void.hpp:
--------------------------------------------------------------------------------
1 |
2 | // (C) Copyright Steve Cleary, Beman Dawes, Howard Hinnant & John Maddock 2000.
3 | // Use, modification and distribution are subject to the Boost Software License,
4 | // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
5 | // http://www.boost.org/LICENSE_1_0.txt).
6 | //
7 | // See http://www.boost.org/libs/type_traits for most recent version including documentation.
8 |
9 | #ifndef BOOST_TT_IS_VOID_HPP_INCLUDED
10 | #define BOOST_TT_IS_VOID_HPP_INCLUDED
11 |
12 | #include
13 |
14 | // should be the last #include
15 | #include
16 |
17 | namespace boost {
18 |
19 | //* is a type T void - is_void
20 | #if defined( __CODEGEARC__ )
21 | BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_void,T,__is_void(T))
22 | #else
23 | BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_void,T,false)
24 | BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_void,void,true)
25 |
26 | #ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS
27 | BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_void,void const,true)
28 | BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_void,void volatile,true)
29 | BOOST_TT_AUX_BOOL_TRAIT_SPEC1(is_void,void const volatile,true)
30 | #endif
31 |
32 | #endif // non-CodeGear implementation
33 |
34 | } // namespace boost
35 |
36 | #include
37 |
38 | #endif // BOOST_TT_IS_VOID_HPP_INCLUDED
39 |
--------------------------------------------------------------------------------
/deps/boost/preprocessor/control/expr_iif.hpp:
--------------------------------------------------------------------------------
1 | # /* **************************************************************************
2 | # * *
3 | # * (C) Copyright Paul Mensonides 2002.
4 | # * Distributed under the Boost Software License, Version 1.0. (See
5 | # * accompanying file LICENSE_1_0.txt or copy at
6 | # * http://www.boost.org/LICENSE_1_0.txt)
7 | # * *
8 | # ************************************************************************** */
9 | #
10 | # /* See http://www.boost.org for most recent version. */
11 | #
12 | # ifndef BOOST_PREPROCESSOR_CONTROL_EXPR_IIF_HPP
13 | # define BOOST_PREPROCESSOR_CONTROL_EXPR_IIF_HPP
14 | #
15 | # include
16 | #
17 | # /* BOOST_PP_EXPR_IIF */
18 | #
19 | # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
20 | # define BOOST_PP_EXPR_IIF(bit, expr) BOOST_PP_EXPR_IIF_I(bit, expr)
21 | # else
22 | # define BOOST_PP_EXPR_IIF(bit, expr) BOOST_PP_EXPR_IIF_OO((bit, expr))
23 | # define BOOST_PP_EXPR_IIF_OO(par) BOOST_PP_EXPR_IIF_I ## par
24 | # endif
25 | #
26 | # define BOOST_PP_EXPR_IIF_I(bit, expr) BOOST_PP_EXPR_IIF_ ## bit(expr)
27 | #
28 | # define BOOST_PP_EXPR_IIF_0(expr)
29 | # define BOOST_PP_EXPR_IIF_1(expr) expr
30 | #
31 | # endif
32 |
--------------------------------------------------------------------------------
/deps/boost/preprocessor/detail/is_binary.hpp:
--------------------------------------------------------------------------------
1 | # /* **************************************************************************
2 | # * *
3 | # * (C) Copyright Paul Mensonides 2002.
4 | # * Distributed under the Boost Software License, Version 1.0. (See
5 | # * accompanying file LICENSE_1_0.txt or copy at
6 | # * http://www.boost.org/LICENSE_1_0.txt)
7 | # * *
8 | # ************************************************************************** */
9 | #
10 | # /* See http://www.boost.org for most recent version. */
11 | #
12 | # ifndef BOOST_PREPROCESSOR_DETAIL_IS_BINARY_HPP
13 | # define BOOST_PREPROCESSOR_DETAIL_IS_BINARY_HPP
14 | #
15 | # include
16 | # include
17 | #
18 | # /* BOOST_PP_IS_BINARY */
19 | #
20 | # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
21 | # define BOOST_PP_IS_BINARY(x) BOOST_PP_CHECK(x, BOOST_PP_IS_BINARY_CHECK)
22 | # else
23 | # define BOOST_PP_IS_BINARY(x) BOOST_PP_IS_BINARY_I(x)
24 | # define BOOST_PP_IS_BINARY_I(x) BOOST_PP_CHECK(x, BOOST_PP_IS_BINARY_CHECK)
25 | # endif
26 | #
27 | # define BOOST_PP_IS_BINARY_CHECK(a, b) 1
28 | # define BOOST_PP_CHECK_RESULT_BOOST_PP_IS_BINARY_CHECK 0, BOOST_PP_NIL
29 | #
30 | # endif
31 |
--------------------------------------------------------------------------------
/deps/boost/mpl/aux_/config/preprocessor.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED
3 | #define BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2000-2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: preprocessor.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 | #include
18 |
19 | #if !defined(BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION) \
20 | && ( BOOST_WORKAROUND(__MWERKS__, <= 0x3003) \
21 | || BOOST_WORKAROUND(__BORLANDC__, < 0x582) \
22 | || BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(502)) \
23 | )
24 |
25 | # define BOOST_MPL_CFG_BROKEN_PP_MACRO_EXPANSION
26 |
27 | #endif
28 |
29 | #if !defined(BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES)
30 | # define BOOST_MPL_CFG_NO_OWN_PP_PRIMITIVES
31 | #endif
32 |
33 | #if !defined(BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING) \
34 | && BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
35 | # define BOOST_NEEDS_TOKEN_PASTING_OP_FOR_TOKENS_JUXTAPOSING
36 | #endif
37 |
38 |
39 | #endif // BOOST_MPL_AUX_CONFIG_PREPROCESSOR_HPP_INCLUDED
40 |
--------------------------------------------------------------------------------
/LICENSE_1_0.txt:
--------------------------------------------------------------------------------
1 | Boost Software License - Version 1.0 - August 17th, 2003
2 |
3 | Permission is hereby granted, free of charge, to any person or organization
4 | obtaining a copy of the software and accompanying documentation covered by
5 | this license (the "Software") to use, reproduce, display, distribute,
6 | execute, and transmit the Software, and to prepare derivative works of the
7 | Software, and to permit third-parties to whom the Software is furnished to
8 | do so, all subject to the following:
9 |
10 | The copyright notices in the Software and this entire statement, including
11 | the above license grant, this restriction and the following disclaimer,
12 | must be included in all copies of the Software, in whole or in part, and
13 | all derivative works of the Software, unless such copies or derivative
14 | works are solely in the form of machine-executable object code generated by
15 | a source language processor.
16 |
17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
20 | SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
21 | FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
22 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23 | DEALINGS IN THE SOFTWARE.
24 |
--------------------------------------------------------------------------------
/alexandrescu/test_expected.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2013 Martin Moene
2 | //
3 | // Use, modification, and distribution is subject to the Boost Software
4 | // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
5 | // http://www.boost.org/LICENSE_1_0.txt)
6 |
7 | #include "expected.hpp"
8 | #include
9 | #include
10 |
11 | Expected foo()
12 | {
13 | return 33;
14 | }
15 |
16 | Expected bar()
17 | {
18 | return Expected::fromException( std::invalid_argument( "not a number" ) );
19 | }
20 |
21 | int foobar()
22 | {
23 | throw std::runtime_error( "exception in fromCode()" );
24 | }
25 |
26 | int main()
27 | {
28 | try
29 | {
30 | std::cout << "foo().get(): " << foo().get() << std::endl;
31 | std::cout << "bar().get(): " << bar().get() << std::endl;
32 |
33 | Expected::fromCode( foobar ).get();
34 | }
35 | catch ( std::invalid_argument const & e )
36 | {
37 | std::cout << "Invalid argument: " << e.what() << std::endl;
38 | }
39 | catch ( std::exception const & e )
40 | {
41 | std::cout << "Error: " << e.what() << std::endl;
42 | }
43 | catch (...)
44 | {
45 | assert( false );
46 | }
47 | }
48 |
49 | // cl -nologo -W3 -EHsc -GR test_expected.cpp && test_expected.exe
50 | // g++ -Wall -Wextra -std=c++11 -o test_expected.exe test_expected.cpp && test_expected.exe
51 |
--------------------------------------------------------------------------------
/deps/boost/preprocessor/array/elem.hpp:
--------------------------------------------------------------------------------
1 | # /* **************************************************************************
2 | # * *
3 | # * (C) Copyright Paul Mensonides 2002.
4 | # * Distributed under the Boost Software License, Version 1.0. (See
5 | # * accompanying file LICENSE_1_0.txt or copy at
6 | # * http://www.boost.org/LICENSE_1_0.txt)
7 | # * *
8 | # ************************************************************************** */
9 | #
10 | # /* See http://www.boost.org for most recent version. */
11 | #
12 | # ifndef BOOST_PREPROCESSOR_ARRAY_ELEM_HPP
13 | # define BOOST_PREPROCESSOR_ARRAY_ELEM_HPP
14 | #
15 | # include
16 | # include
17 | # include
18 | # include
19 | #
20 | # /* BOOST_PP_ARRAY_ELEM */
21 | #
22 | # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
23 | # define BOOST_PP_ARRAY_ELEM(i, array) BOOST_PP_TUPLE_ELEM(BOOST_PP_ARRAY_SIZE(array), i, BOOST_PP_ARRAY_DATA(array))
24 | # else
25 | # define BOOST_PP_ARRAY_ELEM(i, array) BOOST_PP_ARRAY_ELEM_I(i, array)
26 | # define BOOST_PP_ARRAY_ELEM_I(i, array) BOOST_PP_TUPLE_ELEM(BOOST_PP_ARRAY_SIZE(array), i, BOOST_PP_ARRAY_DATA(array))
27 | # endif
28 | #
29 | # endif
30 |
--------------------------------------------------------------------------------
/nonco/test_expected.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2013 Martin Moene
2 | //
3 | // Use, modification, and distribution is subject to the Boost Software
4 | // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
5 | // http://www.boost.org/LICENSE_1_0.txt)
6 |
7 | #include "expected.hpp"
8 |
9 | #include
10 | #include
11 |
12 | expected foo()
13 | {
14 | return 33;
15 | }
16 |
17 | expected bar()
18 | {
19 | return expected::from_exception( std::invalid_argument( "not a number" ) );
20 | }
21 |
22 | int foobar()
23 | {
24 | throw std::runtime_error( "exception in fromCode()" );
25 | }
26 |
27 | int main()
28 | {
29 | try
30 | {
31 | std::cout << "*foo(): " << *foo() << std::endl;
32 | std::cout << "*bar(): " << *bar() << std::endl;
33 |
34 | *expected::from_code( foobar );
35 | }
36 | catch ( std::invalid_argument const & e )
37 | {
38 | std::cout << "Invalid argument: " << e.what() << std::endl;
39 | }
40 | catch ( std::exception const & e )
41 | {
42 | std::cout << "Error: " << e.what() << std::endl;
43 | }
44 | catch (...)
45 | {
46 | assert( false );
47 | }
48 |
49 | return 0; // VC6
50 | }
51 |
52 | // cl -nologo -Wall -EHsc test_expected.cpp && test_expected.exe
53 | // g++ -Wall -Wextra -std=c++11 -o test_expected.exe test_expected.cpp && test_expected.exe
54 |
--------------------------------------------------------------------------------
/deps/boost/mpl/aux_/config/ttp.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED
3 | #define BOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2000-2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: ttp.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 | #include
18 | #include
19 | #include
20 |
21 | #if !defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) \
22 | && ( defined(BOOST_NO_TEMPLATE_TEMPLATES) \
23 | || BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x590) ) \
24 | )
25 |
26 | # define BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS
27 |
28 | #endif
29 |
30 |
31 | #if !defined(BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING) \
32 | && !defined(BOOST_MPL_PREPROCESSING_MODE) \
33 | && ( BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0302)) \
34 | || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \
35 | )
36 |
37 | # define BOOST_MPL_CFG_EXTENDED_TEMPLATE_PARAMETERS_MATCHING
38 |
39 | #endif
40 |
41 | #endif // BOOST_MPL_AUX_CONFIG_TTP_HPP_INCLUDED
42 |
--------------------------------------------------------------------------------
/deps/boost/preprocessor/logical/compl.hpp:
--------------------------------------------------------------------------------
1 | # /* **************************************************************************
2 | # * *
3 | # * (C) Copyright Paul Mensonides 2002.
4 | # * Distributed under the Boost Software License, Version 1.0. (See
5 | # * accompanying file LICENSE_1_0.txt or copy at
6 | # * http://www.boost.org/LICENSE_1_0.txt)
7 | # * *
8 | # ************************************************************************** */
9 | #
10 | # /* See http://www.boost.org for most recent version. */
11 | #
12 | # ifndef BOOST_PREPROCESSOR_LOGICAL_COMPL_HPP
13 | # define BOOST_PREPROCESSOR_LOGICAL_COMPL_HPP
14 | #
15 | # include
16 | #
17 | # /* BOOST_PP_COMPL */
18 | #
19 | # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
20 | # define BOOST_PP_COMPL(x) BOOST_PP_COMPL_I(x)
21 | # else
22 | # define BOOST_PP_COMPL(x) BOOST_PP_COMPL_OO((x))
23 | # define BOOST_PP_COMPL_OO(par) BOOST_PP_COMPL_I ## par
24 | # endif
25 | #
26 | # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
27 | # define BOOST_PP_COMPL_I(x) BOOST_PP_COMPL_ ## x
28 | # else
29 | # define BOOST_PP_COMPL_I(x) BOOST_PP_COMPL_ID(BOOST_PP_COMPL_ ## x)
30 | # define BOOST_PP_COMPL_ID(id) id
31 | # endif
32 | #
33 | # define BOOST_PP_COMPL_0 1
34 | # define BOOST_PP_COMPL_1 0
35 | #
36 | # endif
37 |
--------------------------------------------------------------------------------
/deps/boost/preprocessor/control/iif.hpp:
--------------------------------------------------------------------------------
1 | # /* **************************************************************************
2 | # * *
3 | # * (C) Copyright Paul Mensonides 2002.
4 | # * Distributed under the Boost Software License, Version 1.0. (See
5 | # * accompanying file LICENSE_1_0.txt or copy at
6 | # * http://www.boost.org/LICENSE_1_0.txt)
7 | # * *
8 | # ************************************************************************** */
9 | #
10 | # /* See http://www.boost.org for most recent version. */
11 | #
12 | # ifndef BOOST_PREPROCESSOR_CONTROL_IIF_HPP
13 | # define BOOST_PREPROCESSOR_CONTROL_IIF_HPP
14 | #
15 | # include
16 | #
17 | # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
18 | # define BOOST_PP_IIF(bit, t, f) BOOST_PP_IIF_I(bit, t, f)
19 | # else
20 | # define BOOST_PP_IIF(bit, t, f) BOOST_PP_IIF_OO((bit, t, f))
21 | # define BOOST_PP_IIF_OO(par) BOOST_PP_IIF_I ## par
22 | # endif
23 | #
24 | # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
25 | # define BOOST_PP_IIF_I(bit, t, f) BOOST_PP_IIF_ ## bit(t, f)
26 | # else
27 | # define BOOST_PP_IIF_I(bit, t, f) BOOST_PP_IIF_II(BOOST_PP_IIF_ ## bit(t, f))
28 | # define BOOST_PP_IIF_II(id) id
29 | # endif
30 | #
31 | # define BOOST_PP_IIF_0(t, f) f
32 | # define BOOST_PP_IIF_1(t, f) t
33 | #
34 | # endif
35 |
--------------------------------------------------------------------------------
/hagan/return_code_fg.hpp:
--------------------------------------------------------------------------------
1 | // Copyright 2000 Francis Glassborow
2 | // Exploding return codes.
3 | // https://groups.google.com/forum/#!msg/comp.lang.c++.moderated/BkZqPfoq3ys/H_PMR8Sat4oJ
4 |
5 | // Note: without a move constructor you risk throwing in the destructor while
6 | // an exception is already in flight, resulting in a call to std::terminate().
7 |
8 | #ifndef GLASSBOROW_EXPLODING_RETURN_CODE_H_INCLUDED
9 | #define GLASSBOROW_EXPLODING_RETURN_CODE_H_INCLUDED
10 |
11 | #include
12 | #include
13 |
14 | struct trace
15 | {
16 | std::string text;
17 | trace(std::string text)
18 | : text(text)
19 | {
20 | std::cout << "> " << text << std::endl;
21 | }
22 | ~trace()
23 | {
24 | std::cout << "< " << text << std::endl;
25 | }
26 | };
27 |
28 | class return_code
29 | {
30 | long rc_m;
31 | bool ignored;
32 |
33 | public:
34 | return_code(long rc)
35 | : rc_m(rc)
36 | , ignored(true)
37 | {
38 | trace t("rc(long)");
39 | }
40 |
41 | #if __cplusplus >= 201103L
42 | ~return_code() noexcept(false)
43 | #else
44 | ~return_code()
45 | #endif
46 | {
47 | trace t("~rc()");
48 | if (ignored)
49 | {
50 | throw rc_m;
51 | }
52 | }
53 |
54 | operator long ()
55 | {
56 | trace t("op long()");
57 | ignored = false;
58 | return rc_m;
59 | }
60 | };
61 |
62 | #endif // GLASSBOROW_EXPLODING_RETURN_CODE_H_INCLUDED
63 |
--------------------------------------------------------------------------------
/deps/boost/smart_ptr/detail/atomic_count_sync.hpp:
--------------------------------------------------------------------------------
1 | #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SYNC_HPP_INCLUDED
2 | #define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SYNC_HPP_INCLUDED
3 |
4 | //
5 | // boost/detail/atomic_count_sync.hpp
6 | //
7 | // atomic_count for g++ 4.1+
8 | //
9 | // http://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/Atomic-Builtins.html
10 | //
11 | // Copyright 2007 Peter Dimov
12 | //
13 | // Distributed under the Boost Software License, Version 1.0. (See
14 | // accompanying file LICENSE_1_0.txt or copy at
15 | // http://www.boost.org/LICENSE_1_0.txt)
16 | //
17 |
18 | #if defined( __ia64__ ) && defined( __INTEL_COMPILER )
19 | # include
20 | #endif
21 |
22 | namespace boost
23 | {
24 |
25 | namespace detail
26 | {
27 |
28 | class atomic_count
29 | {
30 | public:
31 |
32 | explicit atomic_count( long v ) : value_( v ) {}
33 |
34 | long operator++()
35 | {
36 | return __sync_add_and_fetch( &value_, 1 );
37 | }
38 |
39 | long operator--()
40 | {
41 | return __sync_add_and_fetch( &value_, -1 );
42 | }
43 |
44 | operator long() const
45 | {
46 | return __sync_fetch_and_add( &value_, 0 );
47 | }
48 |
49 | private:
50 |
51 | atomic_count(atomic_count const &);
52 | atomic_count & operator=(atomic_count const &);
53 |
54 | mutable long value_;
55 | };
56 |
57 | } // namespace detail
58 |
59 | } // namespace boost
60 |
61 | #endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_SYNC_HPP_INCLUDED
62 |
--------------------------------------------------------------------------------
/deps/boost/preprocessor/slot/slot.hpp:
--------------------------------------------------------------------------------
1 | # /* **************************************************************************
2 | # * *
3 | # * (C) Copyright Paul Mensonides 2002.
4 | # * Distributed under the Boost Software License, Version 1.0. (See
5 | # * accompanying file LICENSE_1_0.txt or copy at
6 | # * http://www.boost.org/LICENSE_1_0.txt)
7 | # * *
8 | # ************************************************************************** */
9 | #
10 | # /* See http://www.boost.org for most recent version. */
11 | #
12 | # ifndef BOOST_PREPROCESSOR_SLOT_SLOT_HPP
13 | # define BOOST_PREPROCESSOR_SLOT_SLOT_HPP
14 | #
15 | # include
16 | # include
17 | #
18 | # /* BOOST_PP_ASSIGN_SLOT */
19 | #
20 | # define BOOST_PP_ASSIGN_SLOT(i) BOOST_PP_CAT(BOOST_PP_ASSIGN_SLOT_, i)
21 | #
22 | # define BOOST_PP_ASSIGN_SLOT_1
23 | # define BOOST_PP_ASSIGN_SLOT_2
24 | # define BOOST_PP_ASSIGN_SLOT_3
25 | # define BOOST_PP_ASSIGN_SLOT_4
26 | # define BOOST_PP_ASSIGN_SLOT_5
27 | #
28 | # /* BOOST_PP_SLOT */
29 | #
30 | # define BOOST_PP_SLOT(i) BOOST_PP_CAT(BOOST_PP_SLOT_, i)()
31 | #
32 | # endif
33 |
--------------------------------------------------------------------------------
/deps/boost/smart_ptr/detail/atomic_count_win32.hpp:
--------------------------------------------------------------------------------
1 | #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_WIN32_HPP_INCLUDED
2 | #define BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_WIN32_HPP_INCLUDED
3 |
4 | // MS compatible compilers support #pragma once
5 |
6 | #if defined(_MSC_VER) && (_MSC_VER >= 1020)
7 | # pragma once
8 | #endif
9 |
10 | //
11 | // boost/detail/atomic_count_win32.hpp
12 | //
13 | // Copyright (c) 2001-2005 Peter Dimov
14 | //
15 | // Distributed under the Boost Software License, Version 1.0. (See
16 | // accompanying file LICENSE_1_0.txt or copy at
17 | // http://www.boost.org/LICENSE_1_0.txt)
18 | //
19 |
20 | #include
21 |
22 | namespace boost
23 | {
24 |
25 | namespace detail
26 | {
27 |
28 | class atomic_count
29 | {
30 | public:
31 |
32 | explicit atomic_count( long v ): value_( v )
33 | {
34 | }
35 |
36 | long operator++()
37 | {
38 | return BOOST_INTERLOCKED_INCREMENT( &value_ );
39 | }
40 |
41 | long operator--()
42 | {
43 | return BOOST_INTERLOCKED_DECREMENT( &value_ );
44 | }
45 |
46 | operator long() const
47 | {
48 | return static_cast( value_ );
49 | }
50 |
51 | private:
52 |
53 | atomic_count( atomic_count const & );
54 | atomic_count & operator=( atomic_count const & );
55 |
56 | long value_;
57 | };
58 |
59 | } // namespace detail
60 |
61 | } // namespace boost
62 |
63 | #endif // #ifndef BOOST_SMART_PTR_DETAIL_ATOMIC_COUNT_WIN32_HPP_INCLUDED
64 |
--------------------------------------------------------------------------------
/deps/boost/memory_order.hpp:
--------------------------------------------------------------------------------
1 | #ifndef BOOST_MEMORY_ORDER_HPP_INCLUDED
2 | #define BOOST_MEMORY_ORDER_HPP_INCLUDED
3 |
4 | // MS compatible compilers support #pragma once
5 |
6 | #if defined(_MSC_VER) && (_MSC_VER >= 1020)
7 | # pragma once
8 | #endif
9 |
10 | // boost/memory_order.hpp
11 | //
12 | // Defines enum boost::memory_order per the C++0x working draft
13 | //
14 | // Copyright (c) 2008, 2009 Peter Dimov
15 | //
16 | // Distributed under the Boost Software License, Version 1.0.
17 | // See accompanying file LICENSE_1_0.txt or copy at
18 | // http://www.boost.org/LICENSE_1_0.txt)
19 |
20 |
21 | namespace boost
22 | {
23 |
24 | //
25 | // Enum values are chosen so that code that needs to insert
26 | // a trailing fence for acquire semantics can use a single
27 | // test such as:
28 | //
29 | // if( mo & memory_order_acquire ) { ...fence... }
30 | //
31 | // For leading fences one can use:
32 | //
33 | // if( mo & memory_order_release ) { ...fence... }
34 | //
35 | // Architectures such as Alpha that need a fence on consume
36 | // can use:
37 | //
38 | // if( mo & ( memory_order_acquire | memory_order_consume ) ) { ...fence... }
39 | //
40 |
41 | enum memory_order
42 | {
43 | memory_order_relaxed = 0,
44 | memory_order_acquire = 1,
45 | memory_order_release = 2,
46 | memory_order_acq_rel = 3, // acquire | release
47 | memory_order_seq_cst = 7, // acq_rel | 4
48 | memory_order_consume = 8
49 | };
50 |
51 | } // namespace boost
52 |
53 | #endif // #ifndef BOOST_MEMORY_ORDER_HPP_INCLUDED
54 |
--------------------------------------------------------------------------------
/deps/boost/mpl/aux_/preprocessor/filter_params.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_AUX_PREPROCESSOR_FILTER_PARAMS_HPP_INCLUDED
3 | #define BOOST_MPL_AUX_PREPROCESSOR_FILTER_PARAMS_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2000-2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: filter_params.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 | #define BOOST_MPL_PP_FILTER_PARAMS_0(p1,p2,p3,p4,p5,p6,p7,p8,p9)
18 | #define BOOST_MPL_PP_FILTER_PARAMS_1(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1
19 | #define BOOST_MPL_PP_FILTER_PARAMS_2(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2
20 | #define BOOST_MPL_PP_FILTER_PARAMS_3(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3
21 | #define BOOST_MPL_PP_FILTER_PARAMS_4(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4
22 | #define BOOST_MPL_PP_FILTER_PARAMS_5(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5
23 | #define BOOST_MPL_PP_FILTER_PARAMS_6(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6
24 | #define BOOST_MPL_PP_FILTER_PARAMS_7(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6,p7
25 | #define BOOST_MPL_PP_FILTER_PARAMS_8(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6,p7,p8
26 | #define BOOST_MPL_PP_FILTER_PARAMS_9(p1,p2,p3,p4,p5,p6,p7,p8,p9) p1,p2,p3,p4,p5,p6,p7,p8,p9
27 |
28 | #endif // BOOST_MPL_AUX_PREPROCESSOR_FILTER_PARAMS_HPP_INCLUDED
29 |
--------------------------------------------------------------------------------
/deps/boost/preprocessor/list/fold_right.hpp:
--------------------------------------------------------------------------------
1 | # /* Copyright (C) 2001
2 | # * Housemarque Oy
3 | # * http://www.housemarque.com
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 | # */
9 | #
10 | # /* Revised by Paul Mensonides (2002) */
11 | #
12 | # /* See http://www.boost.org for most recent version. */
13 | #
14 | # ifndef BOOST_PREPROCESSOR_LIST_FOLD_RIGHT_HPP
15 | # define BOOST_PREPROCESSOR_LIST_FOLD_RIGHT_HPP
16 | #
17 | # include
18 | # include
19 | # include
20 | # include
21 | #
22 | # if 0
23 | # define BOOST_PP_LIST_FOLD_RIGHT(op, state, list)
24 | # endif
25 | #
26 | # define BOOST_PP_LIST_FOLD_RIGHT BOOST_PP_CAT(BOOST_PP_LIST_FOLD_RIGHT_, BOOST_PP_AUTO_REC(BOOST_PP_WHILE_P, 256))
27 | #
28 | # define BOOST_PP_LIST_FOLD_RIGHT_257(o, s, l) BOOST_PP_ERROR(0x0004)
29 | #
30 | # define BOOST_PP_LIST_FOLD_RIGHT_D(d, o, s, l) BOOST_PP_LIST_FOLD_RIGHT_ ## d(o, s, l)
31 | # define BOOST_PP_LIST_FOLD_RIGHT_2ND BOOST_PP_LIST_FOLD_RIGHT
32 | # define BOOST_PP_LIST_FOLD_RIGHT_2ND_D BOOST_PP_LIST_FOLD_RIGHT_D
33 | #
34 | # if BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
35 | # include
36 | # else
37 | # include
38 | # endif
39 | #
40 | # endif
41 |
--------------------------------------------------------------------------------
/deps/boost/mpl/aux_/preprocessor/tuple.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_AUX_PREPROCESSOR_TUPLE_HPP_INCLUDED
3 | #define BOOST_MPL_AUX_PREPROCESSOR_TUPLE_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2002-2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: tuple.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 | #define BOOST_MPL_PP_TUPLE_11_ELEM_0(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e0
18 | #define BOOST_MPL_PP_TUPLE_11_ELEM_1(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e1
19 | #define BOOST_MPL_PP_TUPLE_11_ELEM_2(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e2
20 | #define BOOST_MPL_PP_TUPLE_11_ELEM_3(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e3
21 | #define BOOST_MPL_PP_TUPLE_11_ELEM_4(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e4
22 | #define BOOST_MPL_PP_TUPLE_11_ELEM_5(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e5
23 | #define BOOST_MPL_PP_TUPLE_11_ELEM_6(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e6
24 | #define BOOST_MPL_PP_TUPLE_11_ELEM_7(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e7
25 | #define BOOST_MPL_PP_TUPLE_11_ELEM_8(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e8
26 | #define BOOST_MPL_PP_TUPLE_11_ELEM_9(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e9
27 | #define BOOST_MPL_PP_TUPLE_11_ELEM_10(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10) e10
28 |
29 | #endif // BOOST_MPL_AUX_PREPROCESSOR_TUPLE_HPP_INCLUDED
30 |
--------------------------------------------------------------------------------
/deps/boost/smart_ptr/detail/sp_has_sync.hpp:
--------------------------------------------------------------------------------
1 | #ifndef BOOST_SMART_PTR_DETAIL_SP_HAS_SYNC_HPP_INCLUDED
2 | #define BOOST_SMART_PTR_DETAIL_SP_HAS_SYNC_HPP_INCLUDED
3 |
4 | // MS compatible compilers support #pragma once
5 |
6 | #if defined(_MSC_VER) && (_MSC_VER >= 1020)
7 | # pragma once
8 | #endif
9 |
10 | //
11 | // boost/smart_ptr/detail/sp_has_sync.hpp
12 | //
13 | // Copyright (c) 2008, 2009 Peter Dimov
14 | //
15 | // Distributed under the Boost Software License, Version 1.0.
16 | // See accompanying file LICENSE_1_0.txt or copy at
17 | // http://www.boost.org/LICENSE_1_0.txt)
18 | //
19 | // Defines the BOOST_SP_HAS_SYNC macro if the __sync_* intrinsics
20 | // are available.
21 | //
22 |
23 | #if defined( __GNUC__ ) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 401 ) && !defined( BOOST_SP_NO_SYNC )
24 |
25 | #define BOOST_SP_HAS_SYNC
26 |
27 | #if defined( __arm__ ) || defined( __armel__ )
28 | #undef BOOST_SP_HAS_SYNC
29 | #endif
30 |
31 | #if defined( __hppa ) || defined( __hppa__ )
32 | #undef BOOST_SP_HAS_SYNC
33 | #endif
34 |
35 | #if defined( __m68k__ )
36 | #undef BOOST_SP_HAS_SYNC
37 | #endif
38 |
39 | #if defined( __sh__ )
40 | #undef BOOST_SP_HAS_SYNC
41 | #endif
42 |
43 | #if defined( __sparc__ )
44 | #undef BOOST_SP_HAS_SYNC
45 | #endif
46 |
47 | #if defined( __INTEL_COMPILER ) && !defined( __ia64__ ) && ( __INTEL_COMPILER < 1100 )
48 | #undef BOOST_SP_HAS_SYNC
49 | #endif
50 |
51 | #endif // __GNUC__ * 100 + __GNUC_MINOR__ >= 401
52 |
53 | #endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_HAS_SYNC_HPP_INCLUDED
54 |
--------------------------------------------------------------------------------
/hagan/test_return_code.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2013 Martin Moene.
2 | //
3 | // Use, modification, and distribution is subject to the Boost Software
4 | // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
5 | // http://www.boost.org/LICENSE_1_0.txt)
6 | //
7 | // ReturnCode Copyright (C) 2000 by Ken Hagan
8 |
9 | #include "return_code.hpp"
10 | #include
11 | #include
12 |
13 | return_code foo()
14 | {
15 | return 77;
16 | }
17 |
18 | std::ostream & operator<<( std::ostream & os, return_code arg )
19 | {
20 | return os << ( (long) arg );
21 | }
22 |
23 | int main()
24 | {
25 | try
26 | {
27 | return_code f = foo();
28 | return_code b = foo();
29 |
30 | std::cout << "f: "; std::cout << f << std::endl;
31 | std::cout << "b: "; // std::cout << b << std::endl;
32 |
33 | // b throws:
34 | }
35 | catch ( std::exception const & e )
36 | {
37 | std::cout << "Error (exception): " << e.what() << std::endl;
38 | }
39 | catch ( long const & e )
40 | {
41 | std::cout << "Error (long): " << e << std::endl;
42 | }
43 | catch (...)
44 | {
45 | assert( false );
46 | }
47 |
48 | return 0; // VC6
49 | }
50 |
51 | // cl -nologo -W3 -EHsc -Ideps test_return_code.cpp && test_return_code
52 | // g++ -Wall -Wextra -std=c++03 -Ideps -o test_return_code.exe test_return_code.cpp && test_return_code
53 | // g++ -Wall -Wextra -std=c++11 -o test_return_code.exe test_return_code.cpp && test_return_code
54 |
--------------------------------------------------------------------------------
/examples/example_collection.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2013 Martin Moene.
2 | //
3 | // Implementation note: this version targets C++03.
4 | //
5 | // Use, modification, and distribution is subject to the Boost Software
6 | // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 |
9 | #include "expected_lite.hpp"
10 |
11 | #include
12 | #include
13 | #include
14 |
15 | nonstd::expected foo()
16 | {
17 | return rand() % 100;
18 | }
19 |
20 | nonstd::expected bar()
21 | {
22 | return nonstd::expected(
23 | nonstd::nullexp, std::make_exception_ptr( std::runtime_error( "disengaged" ) ) );
24 | }
25 |
26 | template
27 | std::ostream & operator<<( std::ostream & os, nonstd::expected const & arg )
28 | {
29 | if ( arg )
30 | return os << *arg << ", ";
31 | else
32 | return os << "#, ";
33 | }
34 |
35 | template
36 | void print( Collection const & c )
37 | {
38 | for( auto elem : c )
39 | {
40 | std::cout << elem;
41 | }
42 | std::cout << std::endl;
43 | }
44 |
45 | int main()
46 | {
47 | std::vector< nonstd::expected > coll
48 | {
49 | foo(), foo(), bar(), foo(), foo(),
50 | };
51 |
52 | print( coll );
53 | std::sort( coll.begin(), coll.end() );
54 | print( coll );
55 | }
56 |
57 | // g++ -Wall -Wextra -std=c++11 -I.. -o example_collection.exe example_collection.cpp && example_collection
58 |
--------------------------------------------------------------------------------
/moene/required.hpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2013 Martin Moene.
2 | //
3 | // Implementation note: this version targets C++03 and C++11.
4 | //
5 | // Use, modification, and distribution is subject to the Boost Software
6 | // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
7 | // http://www.boost.org/LICENSE_1_0.txt)
8 | //
9 | // Based on exploding return codes by Ken Hagan.
10 | // https://groups.google.com/forum/#!msg/comp.lang.c++.moderated/BkZqPfoq3ys/H_PMR8Sat4oJ
11 |
12 | #ifndef NONSTD_REQUIRED_H_INCLUDED
13 | #define NONSTD_REQUIRED_H_INCLUDED
14 |
15 | namespace nonstd {
16 |
17 | template
18 | class required
19 | {
20 | public:
21 | typedef T value_type;
22 |
23 | #if __cplusplus >= 201103L
24 | ~required() noexcept(false)
25 | #else
26 | ~required()
27 | #endif
28 | {
29 | if ( m_ignored )
30 | throw m_value;
31 | }
32 |
33 | required( value_type const & v )
34 | : m_value( v )
35 | , m_ignored( true )
36 | {}
37 |
38 | // move "ignored" state unconditionally, C++03, C++11
39 | required( required const & other )
40 | : m_value( other.m_value )
41 | , m_ignored( other.m_ignored )
42 | {
43 | other.m_ignored = false;
44 | }
45 |
46 | operator value_type() const
47 | {
48 | m_ignored = false;
49 | return m_value;
50 | }
51 |
52 | private:
53 | value_type m_value;
54 | mutable bool m_ignored;
55 | };
56 |
57 | } // namespace nonstd
58 |
59 | #endif // NONSTD_REQUIRED_H_INCLUDED
60 |
--------------------------------------------------------------------------------
/deps/boost/mpl/aux_/config/eti.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED
3 | #define BOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2001-2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: eti.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 | #include
18 | #include
19 |
20 | // flags for MSVC 6.5's so-called "early template instantiation bug"
21 | #if !defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) \
22 | && !defined(BOOST_MPL_PREPROCESSING_MODE) \
23 | && BOOST_WORKAROUND(BOOST_MSVC, < 1300)
24 |
25 | # define BOOST_MPL_CFG_MSVC_60_ETI_BUG
26 |
27 | #endif
28 |
29 | #if !defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG) \
30 | && !defined(BOOST_MPL_PREPROCESSING_MODE) \
31 | && BOOST_WORKAROUND(BOOST_MSVC, == 1300)
32 |
33 | # define BOOST_MPL_CFG_MSVC_70_ETI_BUG
34 |
35 | #endif
36 |
37 | #if !defined(BOOST_MPL_CFG_MSVC_ETI_BUG) \
38 | && !defined(BOOST_MPL_PREPROCESSING_MODE) \
39 | && ( defined(BOOST_MPL_CFG_MSVC_60_ETI_BUG) \
40 | || defined(BOOST_MPL_CFG_MSVC_70_ETI_BUG) \
41 | )
42 |
43 | # define BOOST_MPL_CFG_MSVC_ETI_BUG
44 |
45 | #endif
46 |
47 | #endif // BOOST_MPL_AUX_CONFIG_ETI_HPP_INCLUDED
48 |
--------------------------------------------------------------------------------
/deps/boost/mpl/aux_/yes_no.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_AUX_YES_NO_HPP_INCLUDED
3 | #define BOOST_MPL_AUX_YES_NO_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2000-2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: yes_no.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 | #include
18 | #include
19 | #include
20 | #include
21 |
22 |
23 | namespace boost { namespace mpl { namespace aux {
24 |
25 | typedef char (&no_tag)[1];
26 | typedef char (&yes_tag)[2];
27 |
28 | template< bool C_ > struct yes_no_tag
29 | {
30 | typedef no_tag type;
31 | };
32 |
33 | template<> struct yes_no_tag
34 | {
35 | typedef yes_tag type;
36 | };
37 |
38 |
39 | template< BOOST_MPL_AUX_NTTP_DECL(long, n) > struct weighted_tag
40 | {
41 | #if !BOOST_WORKAROUND(BOOST_MSVC, < 1300)
42 | typedef char (&type)[n];
43 | #else
44 | char buf[n];
45 | typedef weighted_tag type;
46 | #endif
47 | };
48 |
49 | #if defined(BOOST_MPL_CFG_NO_DEPENDENT_ARRAY_TYPES)
50 | template<> struct weighted_tag<0>
51 | {
52 | typedef char (&type)[1];
53 | };
54 | #endif
55 |
56 | }}}
57 |
58 | #endif // BOOST_MPL_AUX_YES_NO_HPP_INCLUDED
59 |
--------------------------------------------------------------------------------
/deps/boost/preprocessor/list/append.hpp:
--------------------------------------------------------------------------------
1 | # /* Copyright (C) 2001
2 | # * Housemarque Oy
3 | # * http://www.housemarque.com
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 | # */
9 | #
10 | # /* Revised by Paul Mensonides (2002) */
11 | #
12 | # /* See http://www.boost.org for most recent version. */
13 | #
14 | # ifndef BOOST_PREPROCESSOR_LIST_APPEND_HPP
15 | # define BOOST_PREPROCESSOR_LIST_APPEND_HPP
16 | #
17 | # include
18 | # include
19 | #
20 | # /* BOOST_PP_LIST_APPEND */
21 | #
22 | # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
23 | # define BOOST_PP_LIST_APPEND(a, b) BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_LIST_APPEND_O, b, a)
24 | # else
25 | # define BOOST_PP_LIST_APPEND(a, b) BOOST_PP_LIST_APPEND_I(a, b)
26 | # define BOOST_PP_LIST_APPEND_I(a, b) BOOST_PP_LIST_FOLD_RIGHT(BOOST_PP_LIST_APPEND_O, b, a)
27 | # endif
28 | #
29 | # define BOOST_PP_LIST_APPEND_O(d, s, x) (x, s)
30 | #
31 | # /* BOOST_PP_LIST_APPEND_D */
32 | #
33 | # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_EDG()
34 | # define BOOST_PP_LIST_APPEND_D(d, a, b) BOOST_PP_LIST_FOLD_RIGHT_ ## d(BOOST_PP_LIST_APPEND_O, b, a)
35 | # else
36 | # define BOOST_PP_LIST_APPEND_D(d, a, b) BOOST_PP_LIST_APPEND_D_I(d, a, b)
37 | # define BOOST_PP_LIST_APPEND_D_I(d, a, b) BOOST_PP_LIST_FOLD_RIGHT_ ## d(BOOST_PP_LIST_APPEND_O, b, a)
38 | # endif
39 | #
40 | # endif
41 |
--------------------------------------------------------------------------------
/hagan/test_return_code_fg.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2013 Martin Moene.
2 | //
3 | // Use, modification, and distribution is subject to the Boost Software
4 | // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
5 | // http://www.boost.org/LICENSE_1_0.txt)
6 | //
7 | // ReturnCode Copyright (C) 2000 by Ken Hagan
8 |
9 | #include "return_code_fg.hpp"
10 | #include
11 | #include
12 |
13 | return_code foo()
14 | {
15 | return 77;
16 | }
17 |
18 | std::ostream & operator<<( std::ostream & os, return_code arg )
19 | {
20 | return os << ( (long) arg );
21 | }
22 |
23 | int main()
24 | {
25 | try
26 | {
27 | return_code f = foo();
28 | return_code b = foo();
29 |
30 | std::cout << "f: "; std::cout << f << std::endl;
31 | std::cout << "b: "; // std::cout << b << std::endl;
32 |
33 | // b throws:
34 | }
35 | catch ( std::exception const & e )
36 | {
37 | std::cout << "Error (exception): " << e.what() << std::endl;
38 | }
39 | catch ( long const & e )
40 | {
41 | std::cout << "Error (long): " << e << std::endl;
42 | }
43 | catch (...)
44 | {
45 | assert( false );
46 | }
47 |
48 | return 0; // VC6
49 | }
50 |
51 | // cl -nologo -W3 -EHsc -Ideps test_return_code_fg.cpp && test_return_code_fg
52 | // g++ -Wall -Wextra -std=c++03 -Ideps -o test_return_code_fg.exe test_return_code_fg.cpp && test_return_code_fg
53 | // g++ -Wall -Wextra -std=c++11 -o test_return_code_fg.exe test_return_code_fg.cpp && test_return_code_fg
54 |
--------------------------------------------------------------------------------
/deps/boost/type_traits/is_reference.hpp:
--------------------------------------------------------------------------------
1 |
2 | // (C) Copyright Dave Abrahams, Steve Cleary, Beman Dawes,
3 | // Howard Hinnant and John Maddock 2000, 2010.
4 | // (C) Copyright Mat Marcus, Jesse Jones and Adobe Systems Inc 2001
5 |
6 | // Use, modification and distribution are subject to the Boost Software License,
7 | // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
8 | // http://www.boost.org/LICENSE_1_0.txt).
9 | //
10 | // See http://www.boost.org/libs/type_traits for most recent version including documentation.
11 |
12 | #ifndef BOOST_TT_IS_REFERENCE_HPP_INCLUDED
13 | #define BOOST_TT_IS_REFERENCE_HPP_INCLUDED
14 |
15 | #include
16 | #include
17 | #include
18 | #include
19 |
20 | // should be the last #include
21 | #include
22 |
23 | namespace boost {
24 |
25 | namespace detail {
26 |
27 | template
28 | struct is_reference_impl
29 | {
30 | BOOST_STATIC_CONSTANT(bool, value =
31 | (::boost::type_traits::ice_or<
32 | ::boost::is_lvalue_reference::value, ::boost::is_rvalue_reference::value
33 | >::value));
34 | };
35 |
36 | } // namespace detail
37 |
38 | BOOST_TT_AUX_BOOL_TRAIT_DEF1(is_reference,T,::boost::detail::is_reference_impl::value)
39 |
40 | } // namespace boost
41 |
42 | #include
43 |
44 | #endif // BOOST_TT_IS_REFERENCE_HPP_INCLUDED
45 |
46 |
--------------------------------------------------------------------------------
/deps/boost/mpl/lambda_fwd.hpp:
--------------------------------------------------------------------------------
1 |
2 | #ifndef BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED
3 | #define BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED
4 |
5 | // Copyright Aleksey Gurtovoy 2001-2004
6 | //
7 | // Distributed under the Boost Software License, Version 1.0.
8 | // (See accompanying file LICENSE_1_0.txt or copy at
9 | // http://www.boost.org/LICENSE_1_0.txt)
10 | //
11 | // See http://www.boost.org/libs/mpl for documentation.
12 |
13 | // $Id: lambda_fwd.hpp 1944 2012-11-02 14:01:05Z moene $
14 | // $Date: 2012-11-02 15:01:05 +0100 (Fri, 02 Nov 2012) $
15 | // $Revision: 1944 $
16 |
17 | #include
18 | #include
19 | #include
20 |
21 | #if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
22 |
23 | # include
24 | # include
25 | # include
26 |
27 | namespace boost { namespace mpl {
28 |
29 | template<
30 | typename T = na
31 | , typename Tag = void_
32 | BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(
33 | typename Arity = int_< aux::template_arity::value >
34 | )
35 | >
36 | struct lambda;
37 |
38 | }}
39 |
40 | #else // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
41 |
42 | # include
43 |
44 | namespace boost { namespace mpl {
45 |
46 | template<
47 | typename T = na
48 | , typename Tag = void_
49 | , typename Protect = true_
50 | >
51 | struct lambda;
52 |
53 | }}
54 |
55 | #endif
56 |
57 | #endif // BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED
58 |
--------------------------------------------------------------------------------
/moene/test_required.cpp:
--------------------------------------------------------------------------------
1 | // Copyright (C) 2013 Martin Moene.
2 | //
3 | // Use, modification, and distribution is subject to the Boost Software
4 | // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
5 | // http://www.boost.org/LICENSE_1_0.txt)
6 | //
7 | // ReturnCode Copyright (C) 2000 by Ken Hagan
8 |
9 | #include "required.hpp"
10 | #include
11 | #include
12 |
13 | nonstd::required foo()
14 | {
15 | return 77;
16 | }
17 |
18 | template
19 | std::ostream & operator<<( std::ostream & os, nonstd::required arg )
20 | {
21 | return os << ( (T) arg );
22 | }
23 |
24 | int main()
25 | {
26 | using namespace nonstd;
27 |
28 | try
29 | {
30 | required f = foo();
31 | required b = foo();
32 |
33 | std::cout << "f: "; std::cout << f << std::endl;
34 | std::cout << "b: "; // std::cout << b << std::endl;
35 |
36 | // b throws:
37 | }
38 | catch ( std::exception const & e )
39 | {
40 | std::cout << "Error (exception): " << e.what() << std::endl;
41 | }
42 | catch ( long const & e )
43 | {
44 | std::cout << "Error (long): " << e << std::endl;
45 | }
46 | catch (...)
47 | {
48 | assert( false );
49 | }
50 |
51 | return 0; // VC6
52 | }
53 |
54 | // cl -nologo -W3 -EHsc -Ideps test_required.cpp && test_required
55 | // g++ -Wall -Wextra -std=c++03 -Ideps -o test_required.exe test_required.cpp && test_required
56 | // g++ -Wall -Wextra -std=c++11 -o test_required.exe test_required.cpp && test_required
57 |
--------------------------------------------------------------------------------
/deps/boost/preprocessor/logical/bitand.hpp:
--------------------------------------------------------------------------------
1 | # /* **************************************************************************
2 | # * *
3 | # * (C) Copyright Paul Mensonides 2002.
4 | # * Distributed under the Boost Software License, Version 1.0. (See
5 | # * accompanying file LICENSE_1_0.txt or copy at
6 | # * http://www.boost.org/LICENSE_1_0.txt)
7 | # * *
8 | # ************************************************************************** */
9 | #
10 | # /* See http://www.boost.org for most recent version. */
11 | #
12 | # ifndef BOOST_PREPROCESSOR_LOGICAL_BITAND_HPP
13 | # define BOOST_PREPROCESSOR_LOGICAL_BITAND_HPP
14 | #
15 | # include
16 | #
17 | # /* BOOST_PP_BITAND */
18 | #
19 | # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC()
20 | # define BOOST_PP_BITAND(x, y) BOOST_PP_BITAND_I(x, y)
21 | # else
22 | # define BOOST_PP_BITAND(x, y) BOOST_PP_BITAND_OO((x, y))
23 | # define BOOST_PP_BITAND_OO(par) BOOST_PP_BITAND_I ## par
24 | # endif
25 | #
26 | # if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
27 | # define BOOST_PP_BITAND_I(x, y) BOOST_PP_BITAND_ ## x ## y
28 | # else
29 | # define BOOST_PP_BITAND_I(x, y) BOOST_PP_BITAND_ID(BOOST_PP_BITAND_ ## x ## y)
30 | # define BOOST_PP_BITAND_ID(res) res
31 | # endif
32 | #
33 | # define BOOST_PP_BITAND_00 0
34 | # define BOOST_PP_BITAND_01 0
35 | # define BOOST_PP_BITAND_10 0
36 | # define BOOST_PP_BITAND_11 1
37 | #
38 | # endif
39 |
--------------------------------------------------------------------------------
/deps/boost/preprocessor/list/reverse.hpp:
--------------------------------------------------------------------------------
1 | # /* Copyright (C) 2001
2 | # * Housemarque Oy
3 | # * http://www.housemarque.com
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 | # */
9 | #
10 | # /* Revised by Paul Mensonides (2002) */
11 | #
12 | # /* See http://www.boost.org for most recent version. */
13 | #
14 | # ifndef BOOST_PREPROCESSOR_LIST_REVERSE_HPP
15 | # define BOOST_PREPROCESSOR_LIST_REVERSE_HPP
16 | #
17 | # include
18 | # include