Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r74039 - in trunk: boost/tti boost/tti/detail boost/tti/gen boost/tti/mf libs/tti/doc libs/tti/test
From: eldiener_at_[hidden]
Date: 2011-08-23 23:46:12


Author: eldiener
Date: 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
New Revision: 74039
URL: http://svn.boost.org/trac/boost/changeset/74039

Log:
Updated header file names, docs, and nullary type function implementation.
Added:
   trunk/boost/tti/detail/dtclass.hpp (contents, props changed)
   trunk/boost/tti/gen/has_member_data_gen.hpp
      - copied unchanged from r73930, /trunk/boost/tti/gen/mem_data_gen.hpp
   trunk/boost/tti/gen/has_member_function_gen.hpp
      - copied unchanged from r73930, /trunk/boost/tti/gen/mem_fun_gen.hpp
   trunk/boost/tti/gen/has_member_function_with_sig_gen.hpp
      - copied, changed from r73930, /trunk/boost/tti/gen/comp_mem_fun_gen.hpp
   trunk/boost/tti/gen/has_static_member_data_gen.hpp
      - copied unchanged from r73930, /trunk/boost/tti/gen/static_mem_data_gen.hpp
   trunk/boost/tti/gen/has_static_member_function_gen.hpp
      - copied unchanged from r73930, /trunk/boost/tti/gen/static_mem_fun_gen.hpp
   trunk/boost/tti/gen/has_static_member_function_with_sig_gen.hpp
      - copied, changed from r73930, /trunk/boost/tti/gen/comp_static_mem_fun_gen.hpp
   trunk/boost/tti/gen/has_template_check_params_gen.hpp
      - copied unchanged from r73930, /trunk/boost/tti/gen/template_params_gen.hpp
   trunk/boost/tti/gen/has_template_gen.hpp
      - copied unchanged from r73930, /trunk/boost/tti/gen/template_gen.hpp
   trunk/boost/tti/gen/has_type_gen.hpp
      - copied unchanged from r73930, /trunk/boost/tti/gen/type_gen.hpp
   trunk/boost/tti/gen/member_type_gen.hpp
      - copied unchanged from r73930, /trunk/boost/tti/gen/mem_type_gen.hpp
   trunk/boost/tti/gen/vm_has_template_check_params_gen.hpp
      - copied unchanged from r73930, /trunk/boost/tti/gen/vm_template_params_gen.hpp
   trunk/boost/tti/has_member_data.hpp
      - copied, changed from r73995, /trunk/boost/tti/mem_data.hpp
   trunk/boost/tti/has_member_function.hpp
      - copied, changed from r73995, /trunk/boost/tti/mem_fun.hpp
   trunk/boost/tti/has_member_function_with_sig.hpp
      - copied, changed from r73995, /trunk/boost/tti/comp_mem_fun.hpp
   trunk/boost/tti/has_static_member_data.hpp
      - copied, changed from r73995, /trunk/boost/tti/static_mem_data.hpp
   trunk/boost/tti/has_static_member_function.hpp
      - copied, changed from r73995, /trunk/boost/tti/static_mem_fun.hpp
   trunk/boost/tti/has_static_member_function_with_sig.hpp
      - copied, changed from r73995, /trunk/boost/tti/comp_static_mem_fun.hpp
   trunk/boost/tti/has_template.hpp
      - copied, changed from r73995, /trunk/boost/tti/template.hpp
   trunk/boost/tti/has_template_check_params.hpp
      - copied, changed from r73995, /trunk/boost/tti/template_params.hpp
   trunk/boost/tti/has_type.hpp
      - copied, changed from r73995, /trunk/boost/tti/type.hpp
   trunk/boost/tti/member_type.hpp
      - copied, changed from r73995, /trunk/boost/tti/mem_type.hpp
   trunk/boost/tti/mf/mf_has_member_data.hpp
      - copied, changed from r73995, /trunk/boost/tti/mf/mf_mem_data.hpp
   trunk/boost/tti/mf/mf_has_member_function.hpp
      - copied, changed from r73995, /trunk/boost/tti/mf/mf_mem_fun.hpp
   trunk/boost/tti/mf/mf_has_static_member_data.hpp
      - copied, changed from r73995, /trunk/boost/tti/mf/mf_static_mem_data.hpp
   trunk/boost/tti/mf/mf_has_static_member_function.hpp
      - copied, changed from r73995, /trunk/boost/tti/mf/mf_static_mem_fun.hpp
   trunk/boost/tti/mf/mf_has_template.hpp
      - copied, changed from r73995, /trunk/boost/tti/mf/mf_template.hpp
   trunk/boost/tti/mf/mf_has_template_check_params.hpp
      - copied, changed from r73995, /trunk/boost/tti/mf/mf_template_params.hpp
   trunk/boost/tti/mf/mf_has_type.hpp
      - copied, changed from r73995, /trunk/boost/tti/mf/mf_type.hpp
   trunk/boost/tti/mf/mf_member_type.hpp
      - copied, changed from r73995, /trunk/boost/tti/mf/mf_mem_type.hpp
   trunk/boost/tti/vm_has_template_check_params.hpp
      - copied, changed from r73995, /trunk/boost/tti/vm_template_params.hpp
Removed:
   trunk/boost/tti/comp_mem_fun.hpp
   trunk/boost/tti/comp_static_mem_fun.hpp
   trunk/boost/tti/detail/dtself.hpp
   trunk/boost/tti/gen/comp_mem_fun_gen.hpp
   trunk/boost/tti/gen/comp_static_mem_fun_gen.hpp
   trunk/boost/tti/gen/mem_data_gen.hpp
   trunk/boost/tti/gen/mem_fun_gen.hpp
   trunk/boost/tti/gen/mem_type_gen.hpp
   trunk/boost/tti/gen/static_mem_data_gen.hpp
   trunk/boost/tti/gen/static_mem_fun_gen.hpp
   trunk/boost/tti/gen/template_gen.hpp
   trunk/boost/tti/gen/template_params_gen.hpp
   trunk/boost/tti/gen/type_gen.hpp
   trunk/boost/tti/gen/vm_template_params_gen.hpp
   trunk/boost/tti/mem_data.hpp
   trunk/boost/tti/mem_fun.hpp
   trunk/boost/tti/mem_type.hpp
   trunk/boost/tti/mf/mf_mem_data.hpp
   trunk/boost/tti/mf/mf_mem_fun.hpp
   trunk/boost/tti/mf/mf_mem_type.hpp
   trunk/boost/tti/mf/mf_static_mem_data.hpp
   trunk/boost/tti/mf/mf_static_mem_fun.hpp
   trunk/boost/tti/mf/mf_template.hpp
   trunk/boost/tti/mf/mf_template_params.hpp
   trunk/boost/tti/mf/mf_type.hpp
   trunk/boost/tti/static_mem_data.hpp
   trunk/boost/tti/static_mem_fun.hpp
   trunk/boost/tti/template.hpp
   trunk/boost/tti/template_params.hpp
   trunk/boost/tti/type.hpp
   trunk/boost/tti/vm_template_params.hpp
Text files modified:
   trunk/boost/tti/gen/has_member_function_with_sig_gen.hpp | 6
   trunk/boost/tti/gen/has_static_member_function_with_sig_gen.hpp | 6
   trunk/boost/tti/has_member_data.hpp | 10 +-
   trunk/boost/tti/has_member_function.hpp | 10 +-
   trunk/boost/tti/has_member_function_with_sig.hpp | 16 +-
   trunk/boost/tti/has_static_member_data.hpp | 10 +-
   trunk/boost/tti/has_static_member_function.hpp | 10 +-
   trunk/boost/tti/has_static_member_function_with_sig.hpp | 16 +-
   trunk/boost/tti/has_template.hpp | 10 +-
   trunk/boost/tti/has_template_check_params.hpp | 10 +-
   trunk/boost/tti/has_type.hpp | 10 +-
   trunk/boost/tti/member_type.hpp | 4
   trunk/boost/tti/mf/mf_has_member_data.hpp | 5
   trunk/boost/tti/mf/mf_has_member_function.hpp | 7
   trunk/boost/tti/mf/mf_has_static_member_data.hpp | 5
   trunk/boost/tti/mf/mf_has_static_member_function.hpp | 7
   trunk/boost/tti/mf/mf_has_template.hpp | 1
   trunk/boost/tti/mf/mf_has_template_check_params.hpp | 1
   trunk/boost/tti/mf/mf_has_type.hpp | 4
   trunk/boost/tti/mf/mf_member_type.hpp | 1
   trunk/boost/tti/tti.hpp | 20 ++--
   trunk/boost/tti/tti_vm.hpp | 2
   trunk/boost/tti/vm_has_template_check_params.hpp | 10 +-
   trunk/libs/tti/doc/tti.qbk | 2
   trunk/libs/tti/doc/tti_detail.qbk | 123 +++++++------------------
   trunk/libs/tti/doc/tti_functionality.qbk | 193 +++++++++++++++++++++++++++++----------
   trunk/libs/tti/doc/tti_history.qbk | 26 +++++
   trunk/libs/tti/doc/tti_introduction.qbk | 67 ++++++-------
   trunk/libs/tti/doc/tti_meta_classes.qbk | 159 +-------------------------------
   trunk/libs/tti/doc/tti_metafunctions.qbk | 184 +++++++++++++++++++++----------------
   trunk/libs/tti/doc/tti_nested_type.qbk | 181 +++++++++++++++++++++++++------------
   trunk/libs/tti/doc/tti_terminology.qbk | 6 +
   trunk/libs/tti/doc/tti_using_mm.qbk | 6
   trunk/libs/tti/doc/tti_using_ntm.qbk | 52 +++++-----
   trunk/libs/tti/test/test_has_mem_data.hpp | 2
   trunk/libs/tti/test/test_has_mem_fun.hpp | 2
   trunk/libs/tti/test/test_has_member.cpp | 8
   trunk/libs/tti/test/test_has_member.hpp | 14 +-
   trunk/libs/tti/test/test_has_member_compile.cpp | 8
   trunk/libs/tti/test/test_has_member_fail.cpp | 2
   trunk/libs/tti/test/test_has_member_fail2.cpp | 2
   trunk/libs/tti/test/test_has_static_mem_data.hpp | 2
   trunk/libs/tti/test/test_has_static_mem_fun.hpp | 2
   trunk/libs/tti/test/test_has_static_member.cpp | 2
   trunk/libs/tti/test/test_has_static_member.hpp | 10 +-
   trunk/libs/tti/test/test_has_static_member_compile.cpp | 2
   trunk/libs/tti/test/test_has_static_member_fail2.cpp | 2
   trunk/libs/tti/test/test_has_template.hpp | 2
   trunk/libs/tti/test/test_has_template_cp.hpp | 2
   trunk/libs/tti/test/test_has_type.hpp | 2
   trunk/libs/tti/test/test_has_type_ct.hpp | 2
   trunk/libs/tti/test/test_mem_type.hpp | 2
   trunk/libs/tti/test/test_mf_has_mem_data.cpp | 17 +-
   trunk/libs/tti/test/test_mf_has_mem_data.hpp | 4
   trunk/libs/tti/test/test_mf_has_mem_data_compile.cpp | 17 +-
   trunk/libs/tti/test/test_mf_has_mem_data_fail.cpp | 2
   trunk/libs/tti/test/test_mf_has_mem_data_fail2.cpp | 2
   trunk/libs/tti/test/test_mf_has_mem_data_fail3.cpp | 2
   trunk/libs/tti/test/test_mf_has_mem_fun.cpp | 37 +++---
   trunk/libs/tti/test/test_mf_has_mem_fun.hpp | 4
   trunk/libs/tti/test/test_mf_has_mem_fun_compile.cpp | 53 +++++-----
   trunk/libs/tti/test/test_mf_has_mem_fun_fail.cpp | 8
   trunk/libs/tti/test/test_mf_has_mem_fun_fail2.cpp | 2
   trunk/libs/tti/test/test_mf_has_mem_fun_fail3.cpp | 6
   trunk/libs/tti/test/test_mf_has_static_data.cpp | 5
   trunk/libs/tti/test/test_mf_has_static_data.hpp | 2
   trunk/libs/tti/test/test_mf_has_static_data_compile.cpp | 7
   trunk/libs/tti/test/test_mf_has_static_data_fail.cpp | 2
   trunk/libs/tti/test/test_mf_has_static_data_fail2.cpp | 2
   trunk/libs/tti/test/test_mf_has_static_data_fail3.cpp | 2
   trunk/libs/tti/test/test_mf_has_static_fun.cpp | 25 ++--
   trunk/libs/tti/test/test_mf_has_static_fun.hpp | 4
   trunk/libs/tti/test/test_mf_has_static_fun_compile.cpp | 34 +++---
   trunk/libs/tti/test/test_mf_has_static_fun_fail.cpp | 6
   trunk/libs/tti/test/test_mf_has_static_fun_fail2.cpp | 6
   trunk/libs/tti/test/test_mf_has_static_fun_fail3.cpp | 2
   trunk/libs/tti/test/test_mf_has_template.cpp | 1
   trunk/libs/tti/test/test_mf_has_template.hpp | 4
   trunk/libs/tti/test/test_mf_has_template_compile.cpp | 1
   trunk/libs/tti/test/test_mf_has_template_cp.cpp | 1
   trunk/libs/tti/test/test_mf_has_template_cp.hpp | 4
   trunk/libs/tti/test/test_mf_has_template_cp_compile.cpp | 1
   trunk/libs/tti/test/test_mf_has_type.cpp | 1
   trunk/libs/tti/test/test_mf_has_type.hpp | 4
   trunk/libs/tti/test/test_mf_has_type_compile.cpp | 1
   trunk/libs/tti/test/test_mf_has_type_ct.cpp | 21 ++--
   trunk/libs/tti/test/test_mf_has_type_ct.hpp | 4
   trunk/libs/tti/test/test_mf_has_type_ct_compile.cpp | 21 ++--
   trunk/libs/tti/test/test_mf_has_type_ct_fail.cpp | 2
   trunk/libs/tti/test/test_mf_has_type_ct_fail3.cpp | 2
   trunk/libs/tti/test/test_mf_mem_type.cpp | 1
   trunk/libs/tti/test/test_mf_mem_type.hpp | 2
   trunk/libs/tti/test/test_mf_mem_type_compile.cpp | 1
   trunk/libs/tti/test/test_vm_has_template_cp.hpp | 2
   trunk/libs/tti/test/test_vm_mf_has_template_cp.cpp | 1
   trunk/libs/tti/test/test_vm_mf_has_template_cp.hpp | 4
   trunk/libs/tti/test/test_vm_mf_has_template_cp_compile.cpp | 1
   97 files changed, 785 insertions(+), 794 deletions(-)

Deleted: trunk/boost/tti/comp_mem_fun.hpp
==============================================================================
--- trunk/boost/tti/comp_mem_fun.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
+++ (empty file)
@@ -1,79 +0,0 @@
-
-// (C) Copyright Edward Diener 2011
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#if !defined(TTI_COMP_MEM_FUN_HPP)
-#define TTI_COMP_MEM_FUN_HPP
-
-#include <boost/config.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/gen/comp_mem_fun_gen.hpp>
-#include <boost/tti/detail/dcomp_mem_fun.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Expands to a metafunction which tests whether a member function with a particular name and composite type exists.
-/**
-
- trait = the name of the metafunction within the tti namespace.
-
- name = the name of the inner member.
-
- returns = a metafunction called "boost::tti::trait" where 'trait' is the macro parameter.<br />
-
- The metafunction types and return:
-
- TTI_T = the member function type,
- in the form of a member function pointer - 'return_type (Class::*)(parameter_types...)',
- in which to look for our 'name'.
-
- returns = 'value' is true if the 'name' exists, with the appropriate type,
- otherwise 'value' is false.
-
-*/
-#define BOOST_TTI_TRAIT_HAS_COMP_MEMBER_FUNCTION(trait,name) \
- TTI_DETAIL_TRAIT_HAS_COMP_MEMBER_FUNCTION(trait,name) \
- template<class TTI_T> \
- struct trait : \
- BOOST_PP_CAT(trait,_detail)<TTI_T> \
- { \
- }; \
-/**/
-
-/// Expands to a metafunction which tests whether a member function with a particular name and composite type exists.
-/**
-
- name = the name of the inner member.
-
- returns = a metafunction called "boost::tti::has_comp_member_function_name" where 'name' is the macro parameter.
-
- The metafunction types and return:
-
- TTI_T = the member function type,
- in the form of a member function pointer - 'return_type (Class::*)(parameter_types...)',
- in which to look for our 'name'.
-
- returns = 'value' is true if the 'name' exists, with the appropriate type,
- otherwise 'value' is false.
-
-*/
-#define BOOST_TTI_HAS_COMP_MEMBER_FUNCTION(name) \
- BOOST_TTI_TRAIT_HAS_COMP_MEMBER_FUNCTION \
- ( \
- BOOST_TTI_HAS_COMP_MEMBER_FUNCTION_GEN(name), \
- name \
- ) \
-/**/
-
-#endif // TTI_COMP_MEM_FUN_HPP

Deleted: trunk/boost/tti/comp_static_mem_fun.hpp
==============================================================================
--- trunk/boost/tti/comp_static_mem_fun.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
+++ (empty file)
@@ -1,85 +0,0 @@
-
-// (C) Copyright Edward Diener 2011
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#if !defined(TTI_COMP_STATIC_MEM_FUN_HPP)
-#define TTI_COMP_STATIC_MEM_FUN_HPP
-
-#include <boost/config.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/gen/comp_static_mem_fun_gen.hpp>
-#include <boost/tti/detail/dcomp_static_mem_fun.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Expands to a metafunction which tests whether a static member function with a particular name and composite type exists.
-/**
-
- trait = the name of the metafunction within the tti namespace.
-
- name = the name of the inner member.
-
- returns = a metafunction called "boost::tti::trait" where 'trait' is the macro parameter.
-
- The metafunction types and return:
-
- TTI_T = the enclosing type.
-
- TTI_Type = the static member function type,
- in the form of a composite function type - 'return_type (parameter_types...)',
- in which to look for our 'name'.
-
- returns = 'value' is true if the 'name' exists within the enclosing type,
- with the appropriate type,
- otherwise 'value' is false.
-
-*/
-#define BOOST_TTI_TRAIT_HAS_COMP_STATIC_MEMBER_FUNCTION(trait,name) \
- TTI_DETAIL_TRAIT_HAS_COMP_STATIC_MEMBER_FUNCTION(trait,name) \
- template<class TTI_T,class TTI_Type> \
- struct trait : \
- BOOST_PP_CAT(trait,_detail)<TTI_T,TTI_Type> \
- { \
- }; \
-/**/
-
-/// Expands to a metafunction which tests whether a static member function with a particular name and composite type exists.
-/**
-
- name = the name of the inner member.
-
- returns = a metafunction called "boost::tti::has_comp_static_member_function_name" where 'name' is the macro parameter.<br />
-
- The metafunction types and return:
-
- TTI_T = the enclosing type.
-
- TTI_Type = the static member function type,
- in the form of a composite function type - 'return_type (parameter_types...)',
- in which to look for our 'name'.
-
- returns = 'value' is true if the 'name' exists within the enclosing type,
- with the appropriate type,
- otherwise 'value' is false.
-
-*/
-#define BOOST_TTI_HAS_COMP_STATIC_MEMBER_FUNCTION(name) \
- BOOST_TTI_TRAIT_HAS_COMP_STATIC_MEMBER_FUNCTION \
- ( \
- BOOST_TTI_HAS_COMP_STATIC_MEMBER_FUNCTION_GEN(name), \
- name \
- ) \
-/**/
-
-#endif // TTI_COMP_STATIC_MEM_FUN_HPP

Added: trunk/boost/tti/detail/dtclass.hpp
==============================================================================
--- (empty file)
+++ trunk/boost/tti/detail/dtclass.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -0,0 +1,34 @@
+
+// (C) Copyright Edward Diener 2011
+// Use, modification and distribution are subject to the Boost Software License,
+// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt).
+
+#if !defined(TTI_DETAIL_TCLASS_HPP)
+#define TTI_DETAIL_TCLASS_HPP
+
+#include <boost/mpl/eval_if.hpp>
+#include <boost/mpl/identity.hpp>
+#include <boost/type_traits/is_class.hpp>
+
+namespace boost
+ {
+ namespace tti
+ {
+ namespace detail
+ {
+ template <class T>
+ struct tclass :
+ boost::mpl::eval_if
+ <
+ boost::is_class<T>,
+ T,
+ boost::mpl::identity<T>
+ >
+ {
+ };
+ }
+ }
+ }
+
+#endif // TTI_DETAIL_TCLASS_HPP

Deleted: trunk/boost/tti/detail/dtself.hpp
==============================================================================
--- trunk/boost/tti/detail/dtself.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
+++ (empty file)
@@ -1,24 +0,0 @@
-
-// (C) Copyright Edward Diener 2011
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#if !defined(TTI_DETAIL_TSELF_HPP)
-#define TTI_DETAIL_TSELF_HPP
-
-namespace boost
- {
- namespace tti
- {
- namespace detail
- {
- template <class T>
- struct tself : T
- {
- };
- }
- }
- }
-
-#endif // TTI_DETAIL_TSELF_HPP

Deleted: trunk/boost/tti/gen/comp_mem_fun_gen.hpp
==============================================================================
--- trunk/boost/tti/gen/comp_mem_fun_gen.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
+++ (empty file)
@@ -1,32 +0,0 @@
-
-// (C) Copyright Edward Diener 2011
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#if !defined(TTI_COMP_MEM_FUN_GEN_HPP)
-#define TTI_COMP_MEM_FUN_GEN_HPP
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Generates the macro metafunction name for BOOST_TTI_HAS_COMP_MEMBER_FUNCTION.
-/**
- name = the name of the member function.
-
- returns = the generated macro metafunction name.
-*/
-#define BOOST_TTI_HAS_COMP_MEMBER_FUNCTION_GEN(name) \
- BOOST_PP_CAT(has_comp_member_function_,name) \
-/**/
-
-#endif // TTI_COMP_MEM_FUN_GEN_HPP

Deleted: trunk/boost/tti/gen/comp_static_mem_fun_gen.hpp
==============================================================================
--- trunk/boost/tti/gen/comp_static_mem_fun_gen.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
+++ (empty file)
@@ -1,32 +0,0 @@
-
-// (C) Copyright Edward Diener 2011
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#if !defined(TTI_COMP_STATIC_MEM_FUN_GEN_HPP)
-#define TTI_COMP_STATIC_MEM_FUN_GEN_HPP
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Generates the macro metafunction name for BOOST_TTI_HAS_COMP_STATIC_MEMBER_FUNCTION.
-/**
- name = the name of the static member function.
-
- returns = the generated macro metafunction name.
-*/
-#define BOOST_TTI_HAS_COMP_STATIC_MEMBER_FUNCTION_GEN(name) \
- BOOST_PP_CAT(has_comp_static_member_function_,name) \
-/**/
-
-#endif // TTI_COMP_STATIC_MEM_FUN_GEN_HPP

Copied: trunk/boost/tti/gen/has_member_function_with_sig_gen.hpp (from r73930, /trunk/boost/tti/gen/comp_mem_fun_gen.hpp)
==============================================================================
--- /trunk/boost/tti/gen/comp_mem_fun_gen.hpp (original)
+++ trunk/boost/tti/gen/has_member_function_with_sig_gen.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -19,14 +19,14 @@
 /** \file
 */
 
-/// Generates the macro metafunction name for BOOST_TTI_HAS_COMP_MEMBER_FUNCTION.
+/// Generates the macro metafunction name for BOOST_TTI_HAS_MEMBER_FUNCTION_WITH_SIG.
 /**
     name = the name of the member function.
 
     returns = the generated macro metafunction name.
 */
-#define BOOST_TTI_HAS_COMP_MEMBER_FUNCTION_GEN(name) \
- BOOST_PP_CAT(has_comp_member_function_,name) \
+#define BOOST_TTI_HAS_MEMBER_FUNCTION_WITH_SIG_GEN(name) \
+ BOOST_PP_CAT(has_member_function_with_sig_,name) \
 /**/
 
 #endif // TTI_COMP_MEM_FUN_GEN_HPP

Copied: trunk/boost/tti/gen/has_static_member_function_with_sig_gen.hpp (from r73930, /trunk/boost/tti/gen/comp_static_mem_fun_gen.hpp)
==============================================================================
--- /trunk/boost/tti/gen/comp_static_mem_fun_gen.hpp (original)
+++ trunk/boost/tti/gen/has_static_member_function_with_sig_gen.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -19,14 +19,14 @@
 /** \file
 */
 
-/// Generates the macro metafunction name for BOOST_TTI_HAS_COMP_STATIC_MEMBER_FUNCTION.
+/// Generates the macro metafunction name for BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION_WITH_SIG.
 /**
     name = the name of the static member function.
 
     returns = the generated macro metafunction name.
 */
-#define BOOST_TTI_HAS_COMP_STATIC_MEMBER_FUNCTION_GEN(name) \
- BOOST_PP_CAT(has_comp_static_member_function_,name) \
+#define BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION_WITH_SIG_GEN(name) \
+ BOOST_PP_CAT(has_static_member_function_with_sig_,name) \
 /**/
 
 #endif // TTI_COMP_STATIC_MEM_FUN_GEN_HPP

Deleted: trunk/boost/tti/gen/mem_data_gen.hpp
==============================================================================
--- trunk/boost/tti/gen/mem_data_gen.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
+++ (empty file)
@@ -1,32 +0,0 @@
-
-// (C) Copyright Edward Diener 2011
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#if !defined(TTI_MEMBER_DATA_GEN_HPP)
-#define TTI_MEMBER_DATA_GEN_HPP
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Generates the macro metafunction name for BOOST_TTI_HAS_MEMBER_DATA.
-/**
- name = the name of the member data.
-
- returns = the generated macro metafunction name.
-*/
-#define BOOST_TTI_HAS_MEMBER_DATA_GEN(name) \
- BOOST_PP_CAT(has_member_data_,name) \
-/**/
-
-#endif // TTI_MEMBER_DATA_GEN_HPP

Deleted: trunk/boost/tti/gen/mem_fun_gen.hpp
==============================================================================
--- trunk/boost/tti/gen/mem_fun_gen.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
+++ (empty file)
@@ -1,32 +0,0 @@
-
-// (C) Copyright Edward Diener 2011
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#if !defined(TTI_MEMBER_FUNCTION_GEN_HPP)
-#define TTI_MEMBER_FUNCTION_GEN_HPP
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Generates the macro metafunction name for BOOST_TTI_HAS_MEMBER_FUNCTION.
-/**
- name = the name of the member function.
-
- returns = the generated macro metafunction name.
-*/
-#define BOOST_TTI_HAS_MEMBER_FUNCTION_GEN(name) \
- BOOST_PP_CAT(has_member_function_,name) \
-/**/
-
-#endif // TTI_MEMBER_FUNCTION_GEN_HPP

Deleted: trunk/boost/tti/gen/mem_type_gen.hpp
==============================================================================
--- trunk/boost/tti/gen/mem_type_gen.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
+++ (empty file)
@@ -1,32 +0,0 @@
-
-// (C) Copyright Edward Diener 2011
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#if !defined(TTI_MEMBER_TYPE_GEN_HPP)
-#define TTI_MEMBER_TYPE_GEN_HPP
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Generates the macro metafunction name for BOOST_TTI_MEMBER_TYPE.
-/**
- name = the name of the inner type.
-
- returns = the generated macro metafunction name.
-*/
-#define BOOST_TTI_MEMBER_TYPE_GEN(name) \
- BOOST_PP_CAT(member_type_,name) \
-/**/
-
-#endif // TTI_MEMBER_TYPE_GEN_HPP

Deleted: trunk/boost/tti/gen/static_mem_data_gen.hpp
==============================================================================
--- trunk/boost/tti/gen/static_mem_data_gen.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
+++ (empty file)
@@ -1,32 +0,0 @@
-
-// (C) Copyright Edward Diener 2011
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#if !defined(TTI_STATIC_MEMBER_DATA_GEN_HPP)
-#define TTI_STATIC_MEMBER_DATA_GEN_HPP
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Generates the macro metafunction name for BOOST_TTI_HAS_STATIC_MEMBER_DATA.
-/**
- name = the name of the static member data.
-
- returns = the generated macro metafunction name.
-*/
-#define BOOST_TTI_HAS_STATIC_MEMBER_DATA_GEN(name) \
- BOOST_PP_CAT(has_static_member_data_,name) \
-/**/
-
-#endif // TTI_STATIC_MEMBER_DATA_GEN_HPP

Deleted: trunk/boost/tti/gen/static_mem_fun_gen.hpp
==============================================================================
--- trunk/boost/tti/gen/static_mem_fun_gen.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
+++ (empty file)
@@ -1,32 +0,0 @@
-
-// (C) Copyright Edward Diener 2011
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#if !defined(TTI_STATIC_MEMBER_FUNCTION_GEN_HPP)
-#define TTI_STATIC_MEMBER_FUNCTION_GEN_HPP
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Generates the macro metafunction name for BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION.
-/**
- name = the name of the static member function.
-
- returns = the generated macro metafunction name.
-*/
-#define BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION_GEN(name) \
- BOOST_PP_CAT(has_static_member_function_,name) \
-/**/
-
-#endif // TTI_STATIC_MEMBER_FUNCTION_GEN_HPP

Deleted: trunk/boost/tti/gen/template_gen.hpp
==============================================================================
--- trunk/boost/tti/gen/template_gen.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
+++ (empty file)
@@ -1,32 +0,0 @@
-
-// (C) Copyright Edward Diener 2011
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#if !defined(TTI_TEMPLATE_GEN_HPP)
-#define TTI_TEMPLATE_GEN_HPP
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Generates the macro metafunction name for BOOST_TTI_HAS_TEMPLATE.
-/**
- name = the name of the class template.
-
- returns = the generated macro metafunction name.
-*/
-#define BOOST_TTI_HAS_TEMPLATE_GEN(name) \
- BOOST_PP_CAT(has_template_,name) \
-/**/
-
-#endif // TTI_TEMPLATE_GEN_HPP

Deleted: trunk/boost/tti/gen/template_params_gen.hpp
==============================================================================
--- trunk/boost/tti/gen/template_params_gen.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
+++ (empty file)
@@ -1,32 +0,0 @@
-
-// (C) Copyright Edward Diener 2011
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#if !defined(TTI_TEMPLATE_PARAMS_GEN_HPP)
-#define TTI_TEMPLATE_PARAMS_GEN_HPP
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Generates the macro metafunction name for BOOST_TTI_HAS_TEMPLATE_CHECK_PARAMS.
-/**
- name = the name of the class template.
-
- returns = the generated macro metafunction name.
-*/
-#define BOOST_TTI_HAS_TEMPLATE_CHECK_PARAMS_GEN(name) \
- BOOST_PP_CAT(has_template_check_params_,name) \
-/**/
-
-#endif // TTI_TEMPLATE_PARAMS_GEN_HPP

Deleted: trunk/boost/tti/gen/type_gen.hpp
==============================================================================
--- trunk/boost/tti/gen/type_gen.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
+++ (empty file)
@@ -1,32 +0,0 @@
-
-// (C) Copyright Edward Diener 2011
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#if !defined(TTI_TYPE_GEN_HPP)
-#define TTI_TYPE_GEN_HPP
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Generates the macro metafunction name for BOOST_TTI_HAS_TYPE.
-/**
- name = the name of the type.
-
- returns = the generated macro metafunction name.
-*/
-#define BOOST_TTI_HAS_TYPE_GEN(name) \
- BOOST_PP_CAT(has_type_,name) \
-/**/
-
-#endif // TTI_TYPE_GEN_HPP

Deleted: trunk/boost/tti/gen/vm_template_params_gen.hpp
==============================================================================
--- trunk/boost/tti/gen/vm_template_params_gen.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
+++ (empty file)
@@ -1,37 +0,0 @@
-
-// (C) Copyright Edward Diener 2011
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#if !defined(TTI_VM_TEMPLATE_PARAMS_GEN_HPP)
-#define TTI_VM_TEMPLATE_PARAMS_GEN_HPP
-
-#include <boost/preprocessor/config/config.hpp>
-
-#if BOOST_PP_VARIADICS
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Generates the macro metafunction name for BOOST_TTI_VM_HAS_TEMPLATE_CHECK_PARAMS.
-/**
- name = the name of the class template.
-
- returns = the generated macro metafunction name.
-*/
-#define BOOST_TTI_VM_HAS_TEMPLATE_CHECK_PARAMS_GEN(name) \
- BOOST_PP_CAT(has_template_check_params_,name) \
-/**/
-
-#endif // BOOST_PP_VARIADICS
-#endif // TTI_VM_TEMPLATE_PARAMS_GEN_HPP

Copied: trunk/boost/tti/has_member_data.hpp (from r73995, /trunk/boost/tti/mem_data.hpp)
==============================================================================
--- /trunk/boost/tti/mem_data.hpp (original)
+++ trunk/boost/tti/has_member_data.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -4,14 +4,14 @@
 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt).
 
-#if !defined(TTI_MEMBER_DATA_HPP)
-#define TTI_MEMBER_DATA_HPP
+#if !defined(TTI_HAS_MEMBER_DATA_HPP)
+#define TTI_HAS_MEMBER_DATA_HPP
 
 #include <boost/config.hpp>
 #include <boost/preprocessor/cat.hpp>
 #include <boost/type_traits/remove_const.hpp>
-#include <boost/tti/mf/mf_mem_data.hpp>
-#include <boost/tti/gen/mem_data_gen.hpp>
+#include <boost/tti/mf/mf_has_member_data.hpp>
+#include <boost/tti/gen/has_member_data_gen.hpp>
 #include <boost/tti/detail/dmem_data.hpp>
 
 /*
@@ -76,4 +76,4 @@
   ) \
 /**/
 
-#endif // TTI_MEMBER_DATA_HPP
+#endif // TTI_HAS_MEMBER_DATA_HPP

Copied: trunk/boost/tti/has_member_function.hpp (from r73995, /trunk/boost/tti/mem_fun.hpp)
==============================================================================
--- /trunk/boost/tti/mem_fun.hpp (original)
+++ trunk/boost/tti/has_member_function.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -4,16 +4,16 @@
 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt).
 
-#if !defined(TTI_MEMBER_FUNCTION_HPP)
-#define TTI_MEMBER_FUNCTION_HPP
+#if !defined(TTI_HAS_MEMBER_FUNCTION_HPP)
+#define TTI_HAS_MEMBER_FUNCTION_HPP
 
 #include <boost/config.hpp>
 #include <boost/function_types/property_tags.hpp>
 #include <boost/mpl/vector.hpp>
 #include <boost/preprocessor/cat.hpp>
 #include <boost/type_traits/remove_const.hpp>
-#include <boost/tti/mf/mf_mem_fun.hpp>
-#include <boost/tti/gen/mem_fun_gen.hpp>
+#include <boost/tti/mf/mf_has_member_function.hpp>
+#include <boost/tti/gen/has_member_function_gen.hpp>
 #include <boost/tti/detail/dmem_fun.hpp>
 
 /*
@@ -86,4 +86,4 @@
   ) \
 /**/
 
-#endif // TTI_MEMBER_FUNCTION_HPP
+#endif // TTI_HAS_MEMBER_FUNCTION_HPP

Copied: trunk/boost/tti/has_member_function_with_sig.hpp (from r73995, /trunk/boost/tti/comp_mem_fun.hpp)
==============================================================================
--- /trunk/boost/tti/comp_mem_fun.hpp (original)
+++ trunk/boost/tti/has_member_function_with_sig.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -4,14 +4,14 @@
 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt).
 
-#if !defined(TTI_COMP_MEM_FUN_HPP)
-#define TTI_COMP_MEM_FUN_HPP
+#if !defined(TTI_HAS_MEMBER_FUNCTION_WITH_SIG_HPP)
+#define TTI_HAS_MEMBER_FUNCTION_WITH_SIG_HPP
 
 #include <boost/config.hpp>
 #include <boost/mpl/apply.hpp>
 #include <boost/mpl/identity.hpp>
 #include <boost/preprocessor/cat.hpp>
-#include <boost/tti/gen/comp_mem_fun_gen.hpp>
+#include <boost/tti/gen/has_member_function_with_sig_gen.hpp>
 #include <boost/tti/detail/dcomp_mem_fun.hpp>
 
 /*
@@ -42,7 +42,7 @@
                           otherwise 'value' is false.
                           
 */
-#define BOOST_TTI_TRAIT_HAS_COMP_MEMBER_FUNCTION(trait,name) \
+#define BOOST_TTI_TRAIT_HAS_MEMBER_FUNCTION_WITH_SIG(trait,name) \
   TTI_DETAIL_TRAIT_HAS_COMP_MEMBER_FUNCTION(trait,name) \
   template<class TTI_T> \
   struct trait : \
@@ -68,12 +68,12 @@
                           otherwise 'value' is false.
                           
 */
-#define BOOST_TTI_HAS_COMP_MEMBER_FUNCTION(name) \
- BOOST_TTI_TRAIT_HAS_COMP_MEMBER_FUNCTION \
+#define BOOST_TTI_HAS_MEMBER_FUNCTION_WITH_SIG(name) \
+ BOOST_TTI_TRAIT_HAS_MEMBER_FUNCTION_WITH_SIG \
   ( \
- BOOST_TTI_HAS_COMP_MEMBER_FUNCTION_GEN(name), \
+ BOOST_TTI_HAS_MEMBER_FUNCTION_WITH_SIG_GEN(name), \
   name \
   ) \
 /**/
 
-#endif // TTI_COMP_MEM_FUN_HPP
+#endif // TTI_HAS_MEMBER_FUNCTION_WITH_SIG_HPP

Copied: trunk/boost/tti/has_static_member_data.hpp (from r73995, /trunk/boost/tti/static_mem_data.hpp)
==============================================================================
--- /trunk/boost/tti/static_mem_data.hpp (original)
+++ trunk/boost/tti/has_static_member_data.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -4,13 +4,13 @@
 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt).
 
-#if !defined(TTI_STATIC_MEMBER_DATA_HPP)
-#define TTI_STATIC_MEMBER_DATA_HPP
+#if !defined(TTI_HAS_STATIC_MEMBER_DATA_HPP)
+#define TTI_HAS_STATIC_MEMBER_DATA_HPP
 
 #include <boost/config.hpp>
 #include <boost/preprocessor/cat.hpp>
-#include <boost/tti/mf/mf_static_mem_data.hpp>
-#include <boost/tti/gen/static_mem_data_gen.hpp>
+#include <boost/tti/mf/mf_has_static_member_data.hpp>
+#include <boost/tti/gen/has_static_member_data_gen.hpp>
 #include <boost/tti/detail/dstatic_mem_data.hpp>
 
 /*
@@ -81,4 +81,4 @@
   ) \
 /**/
 
-#endif // TTI_STATIC_MEMBER_DATA_HPP
+#endif // TTI_HAS_STATIC_MEMBER_DATA_HPP

Copied: trunk/boost/tti/has_static_member_function.hpp (from r73995, /trunk/boost/tti/static_mem_fun.hpp)
==============================================================================
--- /trunk/boost/tti/static_mem_fun.hpp (original)
+++ trunk/boost/tti/has_static_member_function.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -4,15 +4,15 @@
 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt).
 
-#if !defined(TTI_STATIC_MEMBER_FUNCTION_HPP)
-#define TTI_STATIC_MEMBER_FUNCTION_HPP
+#if !defined(TTI_HAS_STATIC_MEMBER_FUNCTION_HPP)
+#define TTI_HAS_STATIC_MEMBER_FUNCTION_HPP
 
 #include <boost/config.hpp>
 #include <boost/function_types/property_tags.hpp>
 #include <boost/mpl/vector.hpp>
 #include <boost/preprocessor/cat.hpp>
-#include <boost/tti/mf/mf_static_mem_fun.hpp>
-#include <boost/tti/gen/static_mem_fun_gen.hpp>
+#include <boost/tti/mf/mf_has_static_member_function.hpp>
+#include <boost/tti/gen/has_static_member_function_gen.hpp>
 #include <boost/tti/detail/dstatic_mem_fun.hpp>
 #include <boost/tti/detail/dtfunction.hpp>
 
@@ -86,4 +86,4 @@
   ) \
 /**/
 
-#endif // TTI_STATIC_MEMBER_FUNCTION_HPP
+#endif // TTI_HAS_STATIC_MEMBER_FUNCTION_HPP

Copied: trunk/boost/tti/has_static_member_function_with_sig.hpp (from r73995, /trunk/boost/tti/comp_static_mem_fun.hpp)
==============================================================================
--- /trunk/boost/tti/comp_static_mem_fun.hpp (original)
+++ trunk/boost/tti/has_static_member_function_with_sig.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -4,14 +4,14 @@
 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt).
 
-#if !defined(TTI_COMP_STATIC_MEM_FUN_HPP)
-#define TTI_COMP_STATIC_MEM_FUN_HPP
+#if !defined(TTI_HAS_STATIC_MEMBER_FUNCTION_WITH_SIG_HPP)
+#define TTI_HAS_STATIC_MEMBER_FUNCTION_WITH_SIG_HPP
 
 #include <boost/config.hpp>
 #include <boost/mpl/apply.hpp>
 #include <boost/mpl/identity.hpp>
 #include <boost/preprocessor/cat.hpp>
-#include <boost/tti/gen/comp_static_mem_fun_gen.hpp>
+#include <boost/tti/gen/has_static_member_function_with_sig_gen.hpp>
 #include <boost/tti/detail/dcomp_static_mem_fun.hpp>
 
 /*
@@ -45,7 +45,7 @@
                           otherwise 'value' is false.
                           
 */
-#define BOOST_TTI_TRAIT_HAS_COMP_STATIC_MEMBER_FUNCTION(trait,name) \
+#define BOOST_TTI_TRAIT_HAS_STATIC_MEMBER_FUNCTION_WITH_SIG(trait,name) \
   TTI_DETAIL_TRAIT_HAS_COMP_STATIC_MEMBER_FUNCTION(trait,name) \
   template<class TTI_T,class TTI_Type> \
   struct trait : \
@@ -74,12 +74,12 @@
                           otherwise 'value' is false.
                           
 */
-#define BOOST_TTI_HAS_COMP_STATIC_MEMBER_FUNCTION(name) \
- BOOST_TTI_TRAIT_HAS_COMP_STATIC_MEMBER_FUNCTION \
+#define BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION_WITH_SIG(name) \
+ BOOST_TTI_TRAIT_HAS_STATIC_MEMBER_FUNCTION_WITH_SIG \
   ( \
- BOOST_TTI_HAS_COMP_STATIC_MEMBER_FUNCTION_GEN(name), \
+ BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION_WITH_SIG_GEN(name), \
   name \
   ) \
 /**/
 
-#endif // TTI_COMP_STATIC_MEM_FUN_HPP
+#endif // TTI_HAS_STATIC_MEMBER_FUNCTION_WITH_SIG_HPP

Copied: trunk/boost/tti/has_template.hpp (from r73995, /trunk/boost/tti/template.hpp)
==============================================================================
--- /trunk/boost/tti/template.hpp (original)
+++ trunk/boost/tti/has_template.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -4,14 +4,14 @@
 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt).
 
-#if !defined(TTI_TEMPLATE_HPP)
-#define TTI_TEMPLATE_HPP
+#if !defined(TTI_HAS_TEMPLATE_HPP)
+#define TTI_HAS_TEMPLATE_HPP
 
 #include <boost/config.hpp>
 #include <boost/mpl/has_xxx.hpp>
 #include <boost/preprocessor/cat.hpp>
-#include <boost/tti/mf/mf_template.hpp>
-#include <boost/tti/gen/template_gen.hpp>
+#include <boost/tti/mf/mf_has_template.hpp>
+#include <boost/tti/gen/has_template_gen.hpp>
 
 /*
 
@@ -75,4 +75,4 @@
   ) \
 /**/
 
-#endif // TTI_TEMPLATE_HPP
+#endif // TTI_HAS_TEMPLATE_HPP

Copied: trunk/boost/tti/has_template_check_params.hpp (from r73995, /trunk/boost/tti/template_params.hpp)
==============================================================================
--- /trunk/boost/tti/template_params.hpp (original)
+++ trunk/boost/tti/has_template_check_params.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -4,13 +4,13 @@
 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt).
 
-#if !defined(TTI_TEMPLATE_PARAMS_HPP)
-#define TTI_TEMPLATE_PARAMS_HPP
+#if !defined(TTI_HAS_TEMPLATE_CHECK_PARAMS_HPP)
+#define TTI_HAS_TEMPLATE_CHECK_PARAMS_HPP
 
 #include <boost/config.hpp>
 #include <boost/preprocessor/cat.hpp>
-#include <boost/tti/mf/mf_template_params.hpp>
-#include <boost/tti/gen/template_params_gen.hpp>
+#include <boost/tti/mf/mf_has_template_check_params.hpp>
+#include <boost/tti/gen/has_template_check_params_gen.hpp>
 #include <boost/tti/detail/dtemplate_params.hpp>
 
 /*
@@ -82,4 +82,4 @@
   ) \
 /**/
 
-#endif // TTI_TEMPLATE_PARAMS_HPP
+#endif // TTI_HAS_TEMPLATE_CHECK_PARAMS_HPP

Copied: trunk/boost/tti/has_type.hpp (from r73995, /trunk/boost/tti/type.hpp)
==============================================================================
--- /trunk/boost/tti/type.hpp (original)
+++ trunk/boost/tti/has_type.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -4,13 +4,13 @@
 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt).
 
-#if !defined(TTI_TYPE_HPP)
-#define TTI_TYPE_HPP
+#if !defined(TTI_HAS_TYPE_HPP)
+#define TTI_HAS_TYPE_HPP
 
 #include <boost/config.hpp>
 #include <boost/preprocessor/cat.hpp>
-#include <boost/tti/mf/mf_type.hpp>
-#include <boost/tti/gen/type_gen.hpp>
+#include <boost/tti/mf/mf_has_type.hpp>
+#include <boost/tti/gen/has_type_gen.hpp>
 #include <boost/tti/detail/dtype.hpp>
 #include <boost/tti/detail/dnotype.hpp>
 
@@ -83,4 +83,4 @@
   ) \
 /**/
 
-#endif // TTI_TYPE_HPP
+#endif // TTI_HAS_TYPE_HPP

Deleted: trunk/boost/tti/mem_data.hpp
==============================================================================
--- trunk/boost/tti/mem_data.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
+++ (empty file)
@@ -1,79 +0,0 @@
-
-// (C) Copyright Edward Diener 2011
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#if !defined(TTI_MEMBER_DATA_HPP)
-#define TTI_MEMBER_DATA_HPP
-
-#include <boost/config.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/tti/mf/mf_mem_data.hpp>
-#include <boost/tti/gen/mem_data_gen.hpp>
-#include <boost/tti/detail/dmem_data.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Expands to a metafunction which tests whether a member data with a particular name and type exists.
-/**
-
- trait = the name of the metafunction within the tti namespace.
-
- name = the name of the inner member.
-
- returns = a metafunction called "boost::tti::trait" where 'trait' is the macro parameter.<br />
-
- The metafunction types and return:
-
- TTI_T = the enclosing type in which to look for our 'name'.
-
- TTI_R = the type of the member data.
-
- returns = 'value' is true if the 'name' exists, with the appropriate type,
- otherwise 'value' is false.
-
-*/
-#define BOOST_TTI_TRAIT_HAS_MEMBER_DATA(trait,name) \
- TTI_DETAIL_TRAIT_HAS_MEMBER_DATA(trait,name) \
- template<class TTI_T,class TTI_R> \
- struct trait : \
- BOOST_PP_CAT(trait,_detail)<typename BOOST_TTI_NAMESPACE::detail::ptmd<TTI_T,TTI_R>::type,typename boost::remove_const<TTI_T>::type> \
- { \
- }; \
-/**/
-
-/// Expands to a metafunction which tests whether a member data with a particular name and type exists.
-/**
-
- name = the name of the inner member.
-
- returns = a metafunction called "boost::tti::has_member_data_name" where 'name' is the macro parameter.
-
- The metafunction types and return:
-
- TTI_T = the enclosing type in which to look for our 'name'.
-
- TTI_R = the type of the member data.
-
- returns = 'value' is true if the 'name' exists, with the appropriate type,
- otherwise 'value' is false.
-
-*/
-#define BOOST_TTI_HAS_MEMBER_DATA(name) \
- BOOST_TTI_TRAIT_HAS_MEMBER_DATA \
- ( \
- BOOST_TTI_HAS_MEMBER_DATA_GEN(name), \
- name \
- ) \
-/**/
-
-#endif // TTI_MEMBER_DATA_HPP

Deleted: trunk/boost/tti/mem_fun.hpp
==============================================================================
--- trunk/boost/tti/mem_fun.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
+++ (empty file)
@@ -1,89 +0,0 @@
-
-// (C) Copyright Edward Diener 2011
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#if !defined(TTI_MEMBER_FUNCTION_HPP)
-#define TTI_MEMBER_FUNCTION_HPP
-
-#include <boost/config.hpp>
-#include <boost/function_types/property_tags.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/type_traits/remove_const.hpp>
-#include <boost/tti/mf/mf_mem_fun.hpp>
-#include <boost/tti/gen/mem_fun_gen.hpp>
-#include <boost/tti/detail/dmem_fun.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Expands to a metafunction which tests whether a member function with a particular name and signature exists.
-/**
-
- trait = the name of the metafunction within the tti namespace.
-
- name = the name of the inner member.
-
- returns = a metafunction called "boost::tti::trait" where 'trait' is the macro parameter.<br />
-
- The metafunction types and return:
-
- TTI_T = the enclosing type in which to look for our 'name'.
-
- TTI_R = the return type of the member function.
-
- TTI_FS = an optional parameter which are the parameters of the member function as a boost::mpl forward sequence.
-
- TTI_TAG = an optional parameter which is a boost::function_types tag to apply to the member function.
-
- returns = 'value' is true if the 'name' exists, with the appropriate type,
- otherwise 'value' is false.
-
-*/
-#define BOOST_TTI_TRAIT_HAS_MEMBER_FUNCTION(trait,name) \
- TTI_DETAIL_TRAIT_HAS_MEMBER_FUNCTION(trait,name) \
- template<class TTI_T,class TTI_R,class TTI_FS = boost::mpl::vector<>,class TTI_TAG = boost::function_types::null_tag> \
- struct trait : \
- BOOST_PP_CAT(trait,_detail)<typename BOOST_TTI_NAMESPACE::detail::ptmf_seq<TTI_T,TTI_R,TTI_FS,TTI_TAG>::type,typename boost::remove_const<TTI_T>::type> \
- { \
- }; \
-/**/
-
-/// Expands to a metafunction which tests whether a member function with a particular name and signature exists.
-/**
-
- name = the name of the inner member.
-
- returns = a metafunction called "boost::tti::has_member_function_name" where 'name' is the macro parameter.
-
- The metafunction types and return:
-
- TTI_T = the enclosing type in which to look for our 'name'.
-
- TTI_R = the return type of the member function.
-
- TTI_FS = an optional parameter which are the parameters of the member function as a boost::mpl forward sequence.
-
- TTI_TAG = an optional parameter which is a boost::function_types tag to apply to the member function.
-
- returns = 'value' is true if the 'name' exists, with the appropriate type,
- otherwise 'value' is false.
-
-*/
-#define BOOST_TTI_HAS_MEMBER_FUNCTION(name) \
- BOOST_TTI_TRAIT_HAS_MEMBER_FUNCTION \
- ( \
- BOOST_TTI_HAS_MEMBER_FUNCTION_GEN(name), \
- name \
- ) \
-/**/
-
-#endif // TTI_MEMBER_FUNCTION_HPP

Deleted: trunk/boost/tti/mem_type.hpp
==============================================================================
--- trunk/boost/tti/mem_type.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
+++ (empty file)
@@ -1,93 +0,0 @@
-
-// (C) Copyright Edward Diener 2011
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#if !defined(TTI_MEMBER_TYPE_HPP)
-#define TTI_MEMBER_TYPE_HPP
-
-#include <boost/config.hpp>
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/mf/mf_mem_type.hpp>
-#include <boost/tti/gen/mem_type_gen.hpp>
-#include <boost/tti/detail/dmem_type.hpp>
-#include <boost/tti/detail/dnotype.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Expands to a metafunction whose typedef 'type' is either the named type or an unspecified type.
-/**
-
- trait = the name of the metafunction within the tti namespace.
-
- name = the name of the inner type.
-
- returns = a metafunction called "boost::tti::trait" where 'trait' is the macro parameter.
-
- The metafunction types and return:
-
- TTI_T = the enclosing type.<br />
-
- returns = 'type' is the inner type of 'name' if the inner type exists
- within the enclosing type, else 'type' is an unspecified type.<br />
-
- The purpose of this macro is to encapsulate the 'name' type as the typedef 'type'
- of a metafunction, but only if it exists within the enclosing type. This allows for
- a lazy evaluation of inner type existence which can be used by other metafunctions
- in this library.
-
-*/
-#define BOOST_TTI_TRAIT_MEMBER_TYPE(trait,name) \
- TTI_DETAIL_TRAIT_HAS_TYPE_MEMBER_TYPE(trait,name) \
- TTI_DETAIL_TRAIT_MEMBER_TYPE(trait,name) \
- template<class TTI_T> \
- struct trait : \
- boost::mpl::eval_if \
- < \
- BOOST_PP_CAT(trait,_detail)<TTI_T>, \
- BOOST_PP_CAT(trait,_detail_member_type)<TTI_T>, \
- boost::mpl::identity<BOOST_TTI_NAMESPACE::detail::notype> \
- > \
- { \
- }; \
-/**/
-
-/// Expands to a metafunction whose typedef 'type' is either the named type or an unspecified type.
-/**
-
- name = the name of the inner type.
-
- returns = a metafunction called "boost::tti::member_type_name" where 'name' is the macro parameter.
-
- The metafunction types and return:
-
- TTI_T = the enclosing type.
-
- returns = 'type' is the inner type of 'name' if the inner type exists
- within the enclosing type, else 'type' is an unspecified type.
-
- The purpose of this macro is to encapsulate the 'name' type as the typedef 'type'
- of a metafunction, but only if it exists within the enclosing type. This allows for
- a lazy evaluation of inner type existence which can be used by other metafunctions
- in this library.
-
-*/
-#define BOOST_TTI_MEMBER_TYPE(name) \
- BOOST_TTI_TRAIT_MEMBER_TYPE \
- ( \
- BOOST_TTI_MEMBER_TYPE_GEN(name), \
- name \
- ) \
-/**/
-
-#endif // TTI_MEMBER_TYPE_HPP

Copied: trunk/boost/tti/member_type.hpp (from r73995, /trunk/boost/tti/mem_type.hpp)
==============================================================================
--- /trunk/boost/tti/mem_type.hpp (original)
+++ trunk/boost/tti/member_type.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -11,8 +11,8 @@
 #include <boost/mpl/eval_if.hpp>
 #include <boost/mpl/identity.hpp>
 #include <boost/preprocessor/cat.hpp>
-#include <boost/tti/mf/mf_mem_type.hpp>
-#include <boost/tti/gen/mem_type_gen.hpp>
+#include <boost/tti/mf/mf_member_type.hpp>
+#include <boost/tti/gen/member_type_gen.hpp>
 #include <boost/tti/detail/dmem_type.hpp>
 #include <boost/tti/detail/dnotype.hpp>
 

Copied: trunk/boost/tti/mf/mf_has_member_data.hpp (from r73995, /trunk/boost/tti/mf/mf_mem_data.hpp)
==============================================================================
--- /trunk/boost/tti/mf/mf_mem_data.hpp (original)
+++ trunk/boost/tti/mf/mf_has_member_data.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -11,6 +11,9 @@
 #include <boost/mpl/apply.hpp>
 #include <boost/mpl/identity.hpp>
 #include <boost/mpl/placeholders.hpp>
+#include <boost/mpl/quote.hpp>
+#include <boost/tti/gen/namespace_gen.hpp>
+#include <boost/tti/detail/dtclass.hpp>
 
 /*
 
@@ -56,7 +59,7 @@
         <
         TTI_HasMemberData,
         typename TTI_T::type,
- typename TTI_R::type
+ typename BOOST_TTI_NAMESPACE::detail::tclass<TTI_R>::type
>::type
       {
       };

Copied: trunk/boost/tti/mf/mf_has_member_function.hpp (from r73995, /trunk/boost/tti/mf/mf_mem_fun.hpp)
==============================================================================
--- /trunk/boost/tti/mf/mf_mem_fun.hpp (original)
+++ trunk/boost/tti/mf/mf_has_member_function.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -12,10 +12,11 @@
 #include <boost/mpl/apply.hpp>
 #include <boost/mpl/identity.hpp>
 #include <boost/mpl/placeholders.hpp>
+#include <boost/mpl/quote.hpp>
 #include <boost/mpl/transform.hpp>
 #include <boost/mpl/vector.hpp>
 #include <boost/tti/gen/namespace_gen.hpp>
-#include <boost/tti/detail/dtself.hpp>
+#include <boost/tti/detail/dtclass.hpp>
 
 /*
 
@@ -69,8 +70,8 @@
         <
         TTI_HasMemberFunction,
         typename TTI_T::type,
- typename TTI_R::type,
- typename boost::mpl::transform<TTI_FS,BOOST_TTI_NAMESPACE::detail::tself<boost::mpl::_1> >::type,
+ typename BOOST_TTI_NAMESPACE::detail::tclass<TTI_R>::type,
+ typename boost::mpl::transform<TTI_FS,BOOST_TTI_NAMESPACE::detail::tclass<boost::mpl::_1> >::type,
         TTI_TAG
>::type
       {

Copied: trunk/boost/tti/mf/mf_has_static_member_data.hpp (from r73995, /trunk/boost/tti/mf/mf_static_mem_data.hpp)
==============================================================================
--- /trunk/boost/tti/mf/mf_static_mem_data.hpp (original)
+++ trunk/boost/tti/mf/mf_has_static_member_data.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -11,6 +11,9 @@
 #include <boost/mpl/apply.hpp>
 #include <boost/mpl/identity.hpp>
 #include <boost/mpl/placeholders.hpp>
+#include <boost/mpl/quote.hpp>
+#include <boost/tti/gen/namespace_gen.hpp>
+#include <boost/tti/detail/dtclass.hpp>
 
 /*
 
@@ -56,7 +59,7 @@
         <
         TTI_HasStaticMemberData,
         typename TTI_T::type,
- typename TTI_R::type
+ typename BOOST_TTI_NAMESPACE::detail::tclass<TTI_R>::type
>::type
       {
       };

Copied: trunk/boost/tti/mf/mf_has_static_member_function.hpp (from r73995, /trunk/boost/tti/mf/mf_static_mem_fun.hpp)
==============================================================================
--- /trunk/boost/tti/mf/mf_static_mem_fun.hpp (original)
+++ trunk/boost/tti/mf/mf_has_static_member_function.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -12,10 +12,11 @@
 #include <boost/mpl/apply.hpp>
 #include <boost/mpl/identity.hpp>
 #include <boost/mpl/placeholders.hpp>
+#include <boost/mpl/quote.hpp>
 #include <boost/mpl/transform.hpp>
 #include <boost/mpl/vector.hpp>
 #include <boost/tti/gen/namespace_gen.hpp>
-#include <boost/tti/detail/dtself.hpp>
+#include <boost/tti/detail/dtclass.hpp>
 
 /*
 
@@ -67,8 +68,8 @@
         <
         TTI_HasStaticMemberFunction,
         typename TTI_T::type,
- typename TTI_R::type,
- typename boost::mpl::transform<TTI_FS,BOOST_TTI_NAMESPACE::detail::tself<boost::mpl::_1> >::type,
+ typename BOOST_TTI_NAMESPACE::detail::tclass<TTI_R>::type,
+ typename boost::mpl::transform<TTI_FS,BOOST_TTI_NAMESPACE::detail::tclass<boost::mpl::_1> >::type,
         TTI_TAG
>::type
       {

Copied: trunk/boost/tti/mf/mf_has_template.hpp (from r73995, /trunk/boost/tti/mf/mf_template.hpp)
==============================================================================
--- /trunk/boost/tti/mf/mf_template.hpp (original)
+++ trunk/boost/tti/mf/mf_has_template.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -11,6 +11,7 @@
 #include <boost/mpl/apply.hpp>
 #include <boost/mpl/identity.hpp>
 #include <boost/mpl/placeholders.hpp>
+#include <boost/mpl/quote.hpp>
 
 /*
 

Copied: trunk/boost/tti/mf/mf_has_template_check_params.hpp (from r73995, /trunk/boost/tti/mf/mf_template_params.hpp)
==============================================================================
--- /trunk/boost/tti/mf/mf_template_params.hpp (original)
+++ trunk/boost/tti/mf/mf_has_template_check_params.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -11,6 +11,7 @@
 #include <boost/mpl/apply.hpp>
 #include <boost/mpl/identity.hpp>
 #include <boost/mpl/placeholders.hpp>
+#include <boost/mpl/quote.hpp>
 
 /*
 

Copied: trunk/boost/tti/mf/mf_has_type.hpp (from r73995, /trunk/boost/tti/mf/mf_type.hpp)
==============================================================================
--- /trunk/boost/tti/mf/mf_type.hpp (original)
+++ trunk/boost/tti/mf/mf_has_type.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -11,8 +11,10 @@
 #include <boost/mpl/apply.hpp>
 #include <boost/mpl/identity.hpp>
 #include <boost/mpl/placeholders.hpp>
+#include <boost/mpl/quote.hpp>
 #include <boost/tti/gen/namespace_gen.hpp>
 #include <boost/tti/detail/dnotype.hpp>
+#include <boost/tti/detail/dtclass.hpp>
 
 /*
 
@@ -59,7 +61,7 @@
         <
         TTI_HasType,
         typename TTI_T::type,
- typename TTI_U::type
+ typename BOOST_TTI_NAMESPACE::detail::tclass<TTI_U>::type
>::type
       {
       };

Deleted: trunk/boost/tti/mf/mf_mem_data.hpp
==============================================================================
--- trunk/boost/tti/mf/mf_mem_data.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
+++ (empty file)
@@ -1,66 +0,0 @@
-
-// (C) Copyright Edward Diener 2011
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#if !defined(TTI_MF_MEMBER_DATA_HPP)
-#define TTI_MF_MEMBER_DATA_HPP
-
-#include <boost/config.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/placeholders.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-namespace boost
- {
- namespace tti
- {
-
- /// A metafunction which checks whether a member data exists within an enclosing type.
- /**
-
- This metafunction takes its specific types as nullary metafunctions whose typedef 'type' member is the actual type used.
-
- The metafunction types and return:
-
- TTI_HasMemberData = a Boost MPL lambda expression using the metafunction generated from the TTI_HAS_MEMBER_DATA ( or TTI_TRAIT_HAS_MEMBER_DATA ) macro.<br />
- The easiest way to generate the lambda expression is to use a Boost MPL placeholder expression of the form 'metafunction\<_,_\>'.
- You can also use a metafunction class generated by boost::mpl::quote2.
-
- TTI_T = the enclosing type as a nullary metafunction.
-
- TTI_R = the type of the member data as a nullary metafunction.
-
- returns = 'value' is true if the member data exists within the enclosing type,
- otherwise 'value' is false.
-
- */
- template
- <
- class TTI_HasMemberData,
- class TTI_T,
- class TTI_R
- >
- struct mf_has_member_data :
- boost::mpl::apply
- <
- TTI_HasMemberData,
- typename TTI_T::type,
- typename TTI_R::type
- >::type
- {
- };
- }
- }
-
-#endif // TTI_MF_MEMBER_DATA_HPP

Deleted: trunk/boost/tti/mf/mf_mem_fun.hpp
==============================================================================
--- trunk/boost/tti/mf/mf_mem_fun.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
+++ (empty file)
@@ -1,81 +0,0 @@
-
-// (C) Copyright Edward Diener 2011
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#if !defined(TTI_MF_MEMBER_FUNCTION_HPP)
-#define TTI_MF_MEMBER_FUNCTION_HPP
-
-#include <boost/config.hpp>
-#include <boost/function_types/property_tags.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/placeholders.hpp>
-#include <boost/mpl/transform.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-#include <boost/tti/detail/dtself.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-namespace boost
- {
- namespace tti
- {
-
- /// A metafunction which checks whether a member function exists within an enclosing type.
- /**
-
- This metafunction takes its specific types, except for the optional parameters, as nullary metafunctions whose typedef 'type' member is the actual type used.
-
- The metafunction types and return:
-
- TTI_HasMemberFunction = a Boost MPL lambda expression using the metafunction generated from the TTI_HAS_MEMBER_FUNCTION ( or TTI_TRAIT_HAS_MEMBER_FUNCTION ) macro.<br />
- The easiest way to generate the lambda expression is to use a Boost MPL placeholder expression of the form 'metafunction\<_,_\> ( or optionally 'metafunction\<_,_,_\> or ' 'metafunction\<_,_,_,_\> )'.
- You can also use a metafunction class generated by boost::mpl::quote4.
-
- TTI_T = the enclosing type as a nullary metafunction.
-
- TTI_R = the return type of the member function as a nullary metafunction.
-
- TTI_FS = an optional parameter which is the parameters of the member function, each as a nullary metafunction, as a boost::mpl forward sequence.<br />
- This parameter defaults to boost::mpl::vector<>.
-
- TTI_TAG = an optional parameter which is a boost::function_types tag to apply to the member function.<br />
- This parameter defaults to boost::function_types::null_tag.
-
- returns = 'value' is true if the member function exists within the enclosing type,
- otherwise 'value' is false.
-
- */
- template
- <
- class TTI_HasMemberFunction,
- class TTI_T,
- class TTI_R,
- class TTI_FS = boost::mpl::vector<>,
- class TTI_TAG = boost::function_types::null_tag
- >
- struct mf_has_member_function :
- boost::mpl::apply
- <
- TTI_HasMemberFunction,
- typename TTI_T::type,
- typename TTI_R::type,
- typename boost::mpl::transform<TTI_FS,BOOST_TTI_NAMESPACE::detail::tself<boost::mpl::_1> >::type,
- TTI_TAG
- >::type
- {
- };
- }
- }
-
-#endif // TTI_MF_MEMBER_FUNCTION_HPP

Deleted: trunk/boost/tti/mf/mf_mem_type.hpp
==============================================================================
--- trunk/boost/tti/mf/mf_mem_type.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
+++ (empty file)
@@ -1,130 +0,0 @@
-
-// (C) Copyright Edward Diener 2011
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#if !defined(TTI_MF_MEMBER_TYPE_HPP)
-#define TTI_MF_MEMBER_TYPE_HPP
-
-#include <boost/config.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/not.hpp>
-#include <boost/mpl/placeholders.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-#include <boost/tti/detail/dnotype.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-namespace boost
- {
- namespace tti
- {
-
- /// A metafunction which checks whether the member 'type' returned from invoking the macro metafunction generated by TTI_MEMBER_TYPE ( TTI_TRAIT_MEMBER_TYPE ) or from invoking boost::tti::mf_member_type is a valid type.
- /**
-
- The metafunction types and return:
-
- TTI_T = returned inner 'type' from invoking the macro metafunction generated by TTI_MEMBER_TYPE ( TTI_TRAIT_MEMBER_TYPE ) or from invoking boost::tti::mf_member_type.
-
- returns = 'value' is true if the type is valid, otherwise 'value' is false.
-
- */
- template
- <
- class TTI_T
- >
- struct valid_member_type :
- boost::mpl::not_
- <
- boost::is_same
- <
- TTI_T,
- BOOST_TTI_NAMESPACE::detail::notype
- >
- >
- {
- };
-
- /// A metafunction which checks whether the member 'type' returned from invoking the macro metafunction generated by TTI_MEMBER_TYPE ( TTI_TRAIT_MEMBER_TYPE ) or from invoking boost::tti::mf_member_type is a valid type.
- /**
-
- The metafunction types and return:
-
- TTI_T = the nullary metafunction from invoking the macro metafunction generated by TTI_MEMBER_TYPE ( TTI_TRAIT_MEMBER_TYPE ) or from invoking boost::tti::mf_member_type.
-
- returns = 'value' is true if the type is valid, otherwise 'value' is false.
-
- */
- template
- <
- class TTI_T
- >
- struct mf_valid_member_type :
- boost::mpl::not_
- <
- boost::is_same
- <
- typename TTI_T::type,
- BOOST_TTI_NAMESPACE::detail::notype
- >
- >
- {
- };
-
- /// A metafunction whose typedef 'type' is either the internal type or an unspecified type.
- /**
-
- This metafunction takes its enclosing type as a nullary metafunction whose typedef 'type' member is the actual type used.
-
- The metafunction types and return:
-
- TTI_MemberType = a Boost MPL lambda expression using the metafunction generated from the TTI_MEMBER_TYPE ( or TTI_TRAIT_MEMBER_TYPE ) macro.<br />
- The easiest way to generate the lambda expression is to use a Boost MPL placeholder expression of the form 'metafunction\<_\>'.
- You can also use a metafunction class generated by boost::mpl::quote1.
-
- TTI_T = the enclosing type as a nullary metafunction.
-
- returns = 'type' is the inner type of the 'name' in TTI_MEMBER_TYPE ( or TTI_TRAIT_MEMBER_TYPE )
- if the inner type exists within the enclosing type,
- else 'type' is an unspecified type.
-
- The purpose of this metafunction is to encapsulate the 'name' type
- in TTI_MEMBER_TYPE ( or TTI_TRAIT_MEMBER_TYPE ) as the typedef 'type'
- of a metafunction, but only if it exists within the enclosing type. This allows for
- a lazy evaluation of inner type existence which can be used by other metafunctions
- in this library.
-
- Furthermore this metafunction allows the enclosing type to be return type from either the
- metafunction generated from TTI_MEMBER_TYPE ( or TTI_TRAIT_MEMBER_TYPE ) or from this
- metafunction itself.
-
- */
- template
- <
- class TTI_MemberType,
- class TTI_T
- >
- struct mf_member_type :
- boost::mpl::apply
- <
- TTI_MemberType,
- typename TTI_T::type
- >
- {
- };
-
- }
- }
-
-#endif // TTI_MF_MEMBER_TYPE_HPP

Copied: trunk/boost/tti/mf/mf_member_type.hpp (from r73995, /trunk/boost/tti/mf/mf_mem_type.hpp)
==============================================================================
--- /trunk/boost/tti/mf/mf_mem_type.hpp (original)
+++ trunk/boost/tti/mf/mf_member_type.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -12,6 +12,7 @@
 #include <boost/mpl/identity.hpp>
 #include <boost/mpl/not.hpp>
 #include <boost/mpl/placeholders.hpp>
+#include <boost/mpl/quote.hpp>
 #include <boost/type_traits/is_same.hpp>
 #include <boost/tti/gen/namespace_gen.hpp>
 #include <boost/tti/detail/dnotype.hpp>

Deleted: trunk/boost/tti/mf/mf_static_mem_data.hpp
==============================================================================
--- trunk/boost/tti/mf/mf_static_mem_data.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
+++ (empty file)
@@ -1,66 +0,0 @@
-
-// (C) Copyright Edward Diener 2011
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#if !defined(TTI_MF_STATIC_MEMBER_DATA_HPP)
-#define TTI_MF_STATIC_MEMBER_DATA_HPP
-
-#include <boost/config.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/placeholders.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-namespace boost
- {
- namespace tti
- {
-
- /// A metafunction which checks whether a static member data exists within an enclosing type.
- /**
-
- This metafunction takes its specific types as nullary metafunctions whose typedef 'type' member is the actual type used.
-
- The metafunction types and return:
-
- TTI_HasStaticMemberData = a Boost MPL lambda expression using the metafunction generated from the TTI_HAS_STATIC_MEMBER_DATA ( or TTI_TRAIT_HAS_STATIC_MEMBER_DATA ) macro.<br />
- The easiest way to generate the lambda expression is to use a Boost MPL placeholder expression of the form 'metafunction\<_,_\>'.
- You can also use a metafunction class generated by boost::mpl::quote2.
-
- TTI_T = the enclosing type as a nullary metafunction.
-
- TTI_R = the type of the static member data as a nullary metafunction.
-
- returns = 'value' is true if the member data exists within the enclosing type,
- otherwise 'value' is false.
-
- */
- template
- <
- class TTI_HasStaticMemberData,
- class TTI_T,
- class TTI_R
- >
- struct mf_has_static_member_data :
- boost::mpl::apply
- <
- TTI_HasStaticMemberData,
- typename TTI_T::type,
- typename TTI_R::type
- >::type
- {
- };
- }
- }
-
-#endif // TTI_MF_STATIC_MEMBER_DATA_HPP

Deleted: trunk/boost/tti/mf/mf_static_mem_fun.hpp
==============================================================================
--- trunk/boost/tti/mf/mf_static_mem_fun.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
+++ (empty file)
@@ -1,79 +0,0 @@
-
-// (C) Copyright Edward Diener 2011
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#if !defined(TTI_MF_STATIC_MEMBER_FUNCTION_HPP)
-#define TTI_MF_STATIC_MEMBER_FUNCTION_HPP
-
-#include <boost/config.hpp>
-#include <boost/function_types/property_tags.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/placeholders.hpp>
-#include <boost/mpl/transform.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-#include <boost/tti/detail/dtself.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-namespace boost
- {
- namespace tti
- {
-
- /// A metafunction which checks whether a static member function exists within an enclosing type.
- /**
-
- This metafunction takes its specific types, except for the optional parameters, as nullary metafunctions whose typedef 'type' member is the actual type used.
-
- The metafunction types and return:
-
- TTI_HasStaticMemberFunction = a Boost MPL lambda expression using the metafunction generated from the TTI_HAS_STATIC_MEMBER_FUNCTION ( or TTI_TRAIT_HAS_STATIC_MEMBER_FUNCTION ) macro.<br />
- The easiest way to generate the lambda expression is to use a Boost MPL placeholder expression of the form 'metafunction\<_,_\> ( or optionally 'metafunction\<_,_,_\> or ' 'metafunction\<_,_,_,_\> )'.
- You can also use a metafunction class generated by boost::mpl::quote4.
-
- TTI_T = the enclosing type as a nullary metafunction.
-
- TTI_R = the return type of the static member function as a nullary metafunction.
-
- TTI_FS = an optional parameter which is the parameters of the static member function, each as a nullary metafunction, as a boost::mpl forward sequence.
-
- TTI_TAG = an optional parameter which is a boost::function_types tag to apply to the static member function.
-
- returns = 'value' is true if the member function exists within the enclosing type,
- otherwise 'value' is false.
-
- */
- template
- <
- class TTI_HasStaticMemberFunction,
- class TTI_T,
- class TTI_R,
- class TTI_FS = boost::mpl::vector<>,
- class TTI_TAG = boost::function_types::null_tag
- >
- struct mf_has_static_member_function :
- boost::mpl::apply
- <
- TTI_HasStaticMemberFunction,
- typename TTI_T::type,
- typename TTI_R::type,
- typename boost::mpl::transform<TTI_FS,BOOST_TTI_NAMESPACE::detail::tself<boost::mpl::_1> >::type,
- TTI_TAG
- >::type
- {
- };
- }
- }
-
-#endif // TTI_MF_STATIC_MEMBER_FUNCTION_HPP

Deleted: trunk/boost/tti/mf/mf_template.hpp
==============================================================================
--- trunk/boost/tti/mf/mf_template.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
+++ (empty file)
@@ -1,62 +0,0 @@
-
-// (C) Copyright Edward Diener 2011
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#if !defined(TTI_MF_TEMPLATE_HPP)
-#define TTI_MF_TEMPLATE_HPP
-
-#include <boost/config.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/placeholders.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-namespace boost
- {
- namespace tti
- {
-
- /// A metafunction which checks whether a class template exists within an enclosing type.
- /**
-
- This metafunction takes its enclosing type as nullary metafunctions whose typedef 'type' member is the actual type used.
-
- The metafunction types and return:
-
- TTI_HasTemplate = a Boost MPL lambda expression using the metafunction generated from the TTI_HAS_TEMPLATE ( TTI_TRAIT_HAS_TEMPLATE ) macro.<br />
- The easiest way to generate the lambda expression is to use a Boost MPL placeholder expression of the form 'metafunction\<_\>'.
- You can also use a metafunction class generated by boost::mpl::quote1.
-
- TTI_T = the enclosing type as a nullary metafunction.
-
- returns = 'value' is true if the template exists within the enclosing type,
- otherwise 'value' is false.
-
- */
- template
- <
- class TTI_HasTemplate,
- class TTI_T
- >
- struct mf_has_template :
- boost::mpl::apply
- <
- TTI_HasTemplate,
- typename TTI_T::type
- >::type
- {
- };
- }
- }
-
-#endif // TTI_MF_TEMPLATE_HPP

Deleted: trunk/boost/tti/mf/mf_template_params.hpp
==============================================================================
--- trunk/boost/tti/mf/mf_template_params.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
+++ (empty file)
@@ -1,63 +0,0 @@
-
-// (C) Copyright Edward Diener 2011
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#if !defined(TTI_MF_TEMPLATE_PARAMS_HPP)
-#define TTI_MF_TEMPLATE_PARAMS_HPP
-
-#include <boost/config.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/placeholders.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-namespace boost
- {
- namespace tti
- {
-
- /// A metafunction which checks whether a class template with its parameters exists within an enclosing type.
- /**
-
- This metafunction takes its enclosing type as nullary metafunctions whose typedef 'type' member is the actual type used.
-
- The metafunction types and return:
-
- TTI_HasTemplateCheckParams = a Boost MPL lambda expression using the metafunction generated from either the TTI_HAS_TEMPLATE_CHECK_PARAMS ( TTI_TRAIT_HAS_TEMPLATE_CHECK_PARAMS )
- or TTI_VM_HAS_TEMPLATE_CHECK_PARAMS ( TTI_VM_TRAIT_HAS_TEMPLATE_CHECK_PARAMS ) macros.<br />
- The easiest way to generate the lambda expression is to use a Boost MPL placeholder expression of the form 'metafunction\<_\>'.
- You can also use a metafunction class generated by boost::mpl::quote1.
-
- TTI_T = The enclosing type as a nullary metafunction.
-
- returns = 'value' is true if the template exists within the enclosing type,
- otherwise 'value' is false.
-
- */
- template
- <
- class TTI_HasTemplateCheckParams,
- class TTI_T
- >
- struct mf_has_template_check_params :
- boost::mpl::apply
- <
- TTI_HasTemplateCheckParams,
- typename TTI_T::type
- >::type
- {
- };
- }
- }
-
-#endif // TTI_MF_TEMPLATE_PARAMS_HPP

Deleted: trunk/boost/tti/mf/mf_type.hpp
==============================================================================
--- trunk/boost/tti/mf/mf_type.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
+++ (empty file)
@@ -1,69 +0,0 @@
-
-// (C) Copyright Edward Diener 2011
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#if !defined(TTI_MF_TYPE_HPP)
-#define TTI_MF_TYPE_HPP
-
-#include <boost/config.hpp>
-#include <boost/mpl/apply.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/placeholders.hpp>
-#include <boost/tti/gen/namespace_gen.hpp>
-#include <boost/tti/detail/dnotype.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-namespace boost
- {
- namespace tti
- {
-
- /// A metafunction which checks whether a type exists within an enclosing type and optionally is a particular type.
- /**
-
- This metafunction takes its specific types as nullary metafunctions whose typedef 'type' member is the actual type used.
-
- The metafunction types and return:
-
- TTI_HasType = a Boost MPL lambda expression using the metafunction generated from the TTI_HAS_TYPE ( or TTI_TRAIT_HAS_TYPE ) macro.<br />
- The easiest way to generate the lambda expression is to use a Boost MPL placeholder expression of the form 'metafunction\<_\>' ( or optionally 'metafunction\<_,_\>' ).
- You can also use a metafunction class generated by boost::mpl::quote2.
-
- TTI_T = the enclosing type as a nullary metafunction.
-
- TTI_U = the type of the inner type as a nullary metafunction, as an optional parameter.
-
- returns = 'value' is true if the type exists within the enclosing type
- and, if type U is specified, the type is the same as the type U,
- otherwise 'value' is false.
-
- */
- template
- <
- class TTI_HasType,
- class TTI_T,
- class TTI_U = boost::mpl::identity<BOOST_TTI_NAMESPACE::detail::notype>
- >
- struct mf_has_type :
- boost::mpl::apply
- <
- TTI_HasType,
- typename TTI_T::type,
- typename TTI_U::type
- >::type
- {
- };
- }
- }
-
-#endif // TTI_MF_TYPE_HPP

Deleted: trunk/boost/tti/static_mem_data.hpp
==============================================================================
--- trunk/boost/tti/static_mem_data.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
+++ (empty file)
@@ -1,84 +0,0 @@
-
-// (C) Copyright Edward Diener 2011
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#if !defined(TTI_STATIC_MEMBER_DATA_HPP)
-#define TTI_STATIC_MEMBER_DATA_HPP
-
-#include <boost/config.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/mf/mf_static_mem_data.hpp>
-#include <boost/tti/gen/static_mem_data_gen.hpp>
-#include <boost/tti/detail/dstatic_mem_data.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Expands to a metafunction which tests whether a static member data with a particular name and type exists.
-/**
-
- trait = the name of the metafunction within the tti namespace.
-
- name = the name of the inner member.
-
- returns = a metafunction called "boost::tti::trait" where 'trait' is the macro parameter.
-
- The metafunction types and return:
-
- TTI_T = the enclosing type.
-
- TTI_Type = the static member data type,
- in the form of a data type,
- in which to look for our 'name'.
-
- returns = 'value' is true if the 'name' exists within the enclosing type,
- with the appropriate type,
- otherwise 'value' is false.
-
-*/
-#define BOOST_TTI_TRAIT_HAS_STATIC_MEMBER_DATA(trait,name) \
- TTI_DETAIL_TRAIT_HAS_STATIC_MEMBER_DATA(trait,name) \
- template<class TTI_T,class TTI_Type> \
- struct trait : \
- BOOST_PP_CAT(trait,_detail)<TTI_T,TTI_Type> \
- { \
- }; \
-/**/
-
-/// Expands to a metafunction which tests whether a static member data with a particular name and type exists.
-/**
-
- name = the name of the inner member.
-
- returns = a metafunction called "boost::tti::has_static_member_name" where 'name' is the macro parameter.<br />
-
- The metafunction types and return:
-
- TTI_T = the enclosing type.
-
- TTI_Type = the static member data type,
- in the form of a data type,
- in which to look for our 'name'.
-
- returns = 'value' is true if the 'name' exists within the enclosing type,
- with the appropriate type,
- otherwise 'value' is false.
-
-*/
-#define BOOST_TTI_HAS_STATIC_MEMBER_DATA(name) \
- BOOST_TTI_TRAIT_HAS_STATIC_MEMBER_DATA \
- ( \
- BOOST_TTI_HAS_STATIC_MEMBER_DATA_GEN(name), \
- name \
- ) \
-/**/
-
-#endif // TTI_STATIC_MEMBER_DATA_HPP

Deleted: trunk/boost/tti/static_mem_fun.hpp
==============================================================================
--- trunk/boost/tti/static_mem_fun.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
+++ (empty file)
@@ -1,89 +0,0 @@
-
-// (C) Copyright Edward Diener 2011
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#if !defined(TTI_STATIC_MEMBER_FUNCTION_HPP)
-#define TTI_STATIC_MEMBER_FUNCTION_HPP
-
-#include <boost/config.hpp>
-#include <boost/function_types/property_tags.hpp>
-#include <boost/mpl/vector.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/mf/mf_static_mem_fun.hpp>
-#include <boost/tti/gen/static_mem_fun_gen.hpp>
-#include <boost/tti/detail/dstatic_mem_fun.hpp>
-#include <boost/tti/detail/dtfunction.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Expands to a metafunction which tests whether a static member function with a particular name and signature exists.
-/**
-
- trait = the name of the metafunction within the tti namespace.
-
- name = the name of the inner member.
-
- returns = a metafunction called "boost::tti::trait" where 'trait' is the macro parameter.<br />
-
- The metafunction types and return:
-
- TTI_T = the enclosing type in which to look for our 'name'.
-
- TTI_R = the return type of the static member function.
-
- TTI_FS = an optional parameter which are the parameters of the static member function as a boost::mpl forward sequence.
-
- TTI_TAG = an optional parameter which is a boost::function_types tag to apply to the static member function.
-
- returns = 'value' is true if the 'name' exists, with the appropriate type,
- otherwise 'value' is false.
-
-*/
-#define BOOST_TTI_TRAIT_HAS_STATIC_MEMBER_FUNCTION(trait,name) \
- TTI_DETAIL_TRAIT_HAS_STATIC_MEMBER_FUNCTION(trait,name) \
- template<class TTI_T,class TTI_R,class TTI_FS = boost::mpl::vector<>,class TTI_TAG = boost::function_types::null_tag> \
- struct trait : \
- BOOST_PP_CAT(trait,_detail)<TTI_T,typename BOOST_TTI_NAMESPACE::detail::tfunction_seq<TTI_R,TTI_FS,TTI_TAG>::type> \
- { \
- }; \
-/**/
-
-/// Expands to a metafunction which tests whether a static member function with a particular name and signature exists.
-/**
-
- name = the name of the inner member.
-
- returns = a metafunction called "boost::tti::has_static_member_function_name" where 'name' is the macro parameter.
-
- The metafunction types and return:
-
- TTI_T = the enclosing type in which to look for our 'name'.
-
- TTI_R = the return type of the static member function.
-
- TTI_FS = an optional parameter which are the parameters of the static member function as a boost::mpl forward sequence.
-
- TTI_TAG = an optional parameter which is a boost::function_types tag to apply to the static member function.
-
- returns = 'value' is true if the 'name' exists, with the appropriate type,
- otherwise 'value' is false.
-
-*/
-#define BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION(name) \
- BOOST_TTI_TRAIT_HAS_STATIC_MEMBER_FUNCTION \
- ( \
- BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION_GEN(name), \
- name \
- ) \
-/**/
-
-#endif // TTI_STATIC_MEMBER_FUNCTION_HPP

Deleted: trunk/boost/tti/template.hpp
==============================================================================
--- trunk/boost/tti/template.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
+++ (empty file)
@@ -1,78 +0,0 @@
-
-// (C) Copyright Edward Diener 2011
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#if !defined(TTI_TEMPLATE_HPP)
-#define TTI_TEMPLATE_HPP
-
-#include <boost/config.hpp>
-#include <boost/mpl/has_xxx.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/mf/mf_template.hpp>
-#include <boost/tti/gen/template_gen.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Expands to a metafunction which tests whether an inner class template with a particular name exists.
-/**
-
- trait = the name of the metafunction within the tti namespace.
-
- name = the name of the inner template.
-
- returns = a metafunction called "boost::tti::trait" where 'trait' is the macro parameter.
-
- The metafunction types and return:
-
- TTI_T = the enclosing type in which to look for our 'name'.
-
- returns = 'value' is true if the 'name' template exists within the enclosing type,
- otherwise 'value' is false.
-
- The template must have all 'class' ( or 'typename' ) parameters types.
-
-*/
-#define BOOST_TTI_TRAIT_HAS_TEMPLATE(trait,name) \
- BOOST_MPL_HAS_XXX_TEMPLATE_NAMED_DEF(BOOST_PP_CAT(trait,_detail_mpl), name, false) \
- template<class TTI_T> \
- struct trait : \
- BOOST_PP_CAT(trait,_detail_mpl)<TTI_T> \
- { \
- }; \
-/**/
-
-/// Expands to a metafunction which tests whether an inner class template with a particular name exists.
-/**
-
- name = the name of the inner template.
-
- returns = a metafunction called "boost::tti::has_template_name" where 'name' is the macro parameter.
-
- The metafunction types and return:
-
- TTI_T = the enclosing type in which to look for our 'name'.
-
- returns = 'value' is true if the 'name' template exists within the enclosing type,
- otherwise 'value' is false.
-
- The template must have all 'class' ( or 'typename' ) parameters types.
-
-*/
-#define BOOST_TTI_HAS_TEMPLATE(name) \
- BOOST_TTI_TRAIT_HAS_TEMPLATE \
- ( \
- BOOST_TTI_HAS_TEMPLATE_GEN(name), \
- name \
- ) \
-/**/
-
-#endif // TTI_TEMPLATE_HPP

Deleted: trunk/boost/tti/template_params.hpp
==============================================================================
--- trunk/boost/tti/template_params.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
+++ (empty file)
@@ -1,85 +0,0 @@
-
-// (C) Copyright Edward Diener 2011
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#if !defined(TTI_TEMPLATE_PARAMS_HPP)
-#define TTI_TEMPLATE_PARAMS_HPP
-
-#include <boost/config.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/mf/mf_template_params.hpp>
-#include <boost/tti/gen/template_params_gen.hpp>
-#include <boost/tti/detail/dtemplate_params.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Expands to a metafunction which tests whether an inner class template with a particular name and signature exists.
-/**
-
- trait = the name of the metafunction within the tti namespace.
-
- name = the name of the inner class template.
-
- tpSeq = a Boost PP sequence which has the class template parameters.
- Each part of the template parameters separated by a comma ( , )
- is put in a separate sequence element.
-
- returns = a metafunction called "boost::tti::trait" where 'trait' is the macro parameter.
-
- The metafunction types and return:
-
- TTI_T = the enclosing type in which to look for our 'name'.
-
- returns = 'value' is true if the 'name' class template with the signature
- as defined by the 'tpSeq' exists within the enclosing type,
- otherwise 'value' is false.
-
-*/
-#define BOOST_TTI_TRAIT_HAS_TEMPLATE_CHECK_PARAMS(trait,name,tpSeq) \
- TTI_DETAIL_TRAIT_HAS_TEMPLATE_CHECK_PARAMS(BOOST_PP_CAT(trait,_detail),name,tpSeq) \
- template<class TTI_T> \
- struct trait : \
- BOOST_PP_CAT(trait,_detail)<TTI_T> \
- { \
- }; \
-/**/
-
-/// Expands to a metafunction which tests whether an inner class template with a particular name and signature exists.
-/**
-
- name = the name of the inner class template.
-
- tpSeq = a Boost PP sequence which has the class template parameters.
- Each part of the template parameters separated by a comma ( , )
- is put in a separate sequence element.
-
- returns = a metafunction called "boost::tti::has_template_check_params_name" where 'name' is the macro parameter.
-
- The metafunction types and return:
-
- TTI_T = the enclosing type in which to look for our 'name'.
-
- returns = 'value' is true if the 'name' class template with the signature
- as defined by the 'tpSeq' exists within the enclosing type,
- otherwise 'value' is false.
-
-*/
-#define BOOST_TTI_HAS_TEMPLATE_CHECK_PARAMS(name,tpSeq) \
- BOOST_TTI_TRAIT_HAS_TEMPLATE_CHECK_PARAMS \
- ( \
- BOOST_TTI_HAS_TEMPLATE_CHECK_PARAMS_GEN(name), \
- name, \
- tpSeq \
- ) \
-/**/
-
-#endif // TTI_TEMPLATE_PARAMS_HPP

Modified: trunk/boost/tti/tti.hpp
==============================================================================
--- trunk/boost/tti/tti.hpp (original)
+++ trunk/boost/tti/tti.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -7,15 +7,15 @@
 #if !defined(TT_INTROSPECTION_HPP)
 #define TT_INTROSPECTION_HPP
 
-#include "comp_mem_fun.hpp"
-#include "comp_static_mem_fun.hpp"
-#include "mem_data.hpp"
-#include "mem_fun.hpp"
-#include "mem_type.hpp"
-#include "static_mem_data.hpp"
-#include "static_mem_fun.hpp"
-#include "template.hpp"
-#include "template_params.hpp"
-#include "type.hpp"
+#include "has_member_data.hpp"
+#include "has_member_function.hpp"
+#include "has_member_function_with_sig.hpp"
+#include "has_static_member_data.hpp"
+#include "has_static_member_function.hpp"
+#include "has_static_member_function_with_sig.hpp"
+#include "has_template.hpp"
+#include "has_template_check_params.hpp"
+#include "has_type.hpp"
+#include "member_type.hpp"
 
 #endif // TT_INTROSPECTION_HPP

Modified: trunk/boost/tti/tti_vm.hpp
==============================================================================
--- trunk/boost/tti/tti_vm.hpp (original)
+++ trunk/boost/tti/tti_vm.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -7,6 +7,6 @@
 #if !defined(TT_INTROSPECTION_VM_HPP)
 #define TT_INTROSPECTION_VM_HPP
 
-#include "vm_template_params.hpp"
+#include "vm_has_template_check_params.hpp"
 
 #endif // TT_INTROSPECTION_VM_HPP

Deleted: trunk/boost/tti/type.hpp
==============================================================================
--- trunk/boost/tti/type.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
+++ (empty file)
@@ -1,86 +0,0 @@
-
-// (C) Copyright Edward Diener 2011
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#if !defined(TTI_TYPE_HPP)
-#define TTI_TYPE_HPP
-
-#include <boost/config.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/mf/mf_type.hpp>
-#include <boost/tti/gen/type_gen.hpp>
-#include <boost/tti/detail/dtype.hpp>
-#include <boost/tti/detail/dnotype.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Expands to a metafunction which tests whether an inner type with a particular name exists and optionally is a particular type.
-/**
-
- trait = the name of the metafunction within the tti namespace.
-
- name = the name of the inner type.
-
- returns = a metafunction called "boost::tti::trait" where 'trait' is the macro parameter.
-
- The metafunction types and return:
-
- TTI_T = the enclosing type in which to look for our 'name'.
-
- TTI_U = the type of the inner type named 'name' as an optional parameter.
-
- returns = 'value' is true if the 'name' type exists within the enclosing type
- and, if type U is specified, the 'name' type is the same as the type U,
- otherwise 'value' is false.
-
-*/
-#define BOOST_TTI_TRAIT_HAS_TYPE(trait,name) \
- TTI_DETAIL_TRAIT_HAS_TYPE(trait,name) \
- template<class TTI_T,class TTI_U = BOOST_TTI_NAMESPACE::detail::notype> \
- struct trait : \
- BOOST_PP_CAT(trait,_detail) \
- < \
- TTI_T, \
- TTI_U, \
- typename BOOST_PP_CAT(trait,_detail_mpl)<TTI_T>::type \
- > \
- { \
- }; \
-/**/
-
-/// Expands to a metafunction which tests whether an inner type with a particular name exists and optionally is a particular type.
-/**
-
- name = the name of the inner type.
-
- returns = a metafunction called "boost::tti::has_type_name" where 'name' is the macro parameter.
-
- The metafunction types and return:
-
- TTI_T = the enclosing type in which to look for our 'name'.
-
- TTI_U = the type of the inner type named 'name' as an optional parameter.
-
- returns = 'value' is true if the 'name' type exists within the enclosing type
- and, if type U is specified, the 'name' type is the same as the type U,
- otherwise 'value' is false.
-
-*/
-#define BOOST_TTI_HAS_TYPE(name) \
- BOOST_TTI_TRAIT_HAS_TYPE \
- ( \
- BOOST_TTI_HAS_TYPE_GEN(name), \
- name \
- ) \
-/**/
-
-#endif // TTI_TYPE_HPP

Copied: trunk/boost/tti/vm_has_template_check_params.hpp (from r73995, /trunk/boost/tti/vm_template_params.hpp)
==============================================================================
--- /trunk/boost/tti/vm_template_params.hpp (original)
+++ trunk/boost/tti/vm_has_template_check_params.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -4,16 +4,16 @@
 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt).
 
-#if !defined(TTI_VM_TEMPLATE_PARAMS_HPP)
-#define TTI_VM_TEMPLATE_PARAMS_HPP
+#if !defined(TTI_VM_HAS_TEMPLATE_CHECK_PARAMS_HPP)
+#define TTI_VM_HAS_TEMPLATE_CHECK_PARAMS_HPP
 
 #include <boost/preprocessor/config/config.hpp>
 
 #if BOOST_PP_VARIADICS
 
 #include <boost/preprocessor/cat.hpp>
-#include <boost/tti/mf/mf_template_params.hpp>
-#include <boost/tti/gen/vm_template_params_gen.hpp>
+#include <boost/tti/mf/mf_has_template_check_params.hpp>
+#include <boost/tti/gen/vm_has_template_check_params_gen.hpp>
 #include <boost/tti/detail/dvm_template_params.hpp>
 
 /*
@@ -84,4 +84,4 @@
 /**/
 
 #endif // BOOST_PP_VARIADICS
-#endif // TTI_VM_TEMPLATE_PARAMS_HPP
+#endif // TTI_VM_HAS_TEMPLATE_CHECK_PARAMS_HPP

Deleted: trunk/boost/tti/vm_template_params.hpp
==============================================================================
--- trunk/boost/tti/vm_template_params.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
+++ (empty file)
@@ -1,87 +0,0 @@
-
-// (C) Copyright Edward Diener 2011
-// Use, modification and distribution are subject to the Boost Software License,
-// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt).
-
-#if !defined(TTI_VM_TEMPLATE_PARAMS_HPP)
-#define TTI_VM_TEMPLATE_PARAMS_HPP
-
-#include <boost/preprocessor/config/config.hpp>
-
-#if BOOST_PP_VARIADICS
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/tti/mf/mf_template_params.hpp>
-#include <boost/tti/gen/vm_template_params_gen.hpp>
-#include <boost/tti/detail/dvm_template_params.hpp>
-
-/*
-
- The succeeding comments in this file are in doxygen format.
-
-*/
-
-/** \file
-*/
-
-/// Expands to a metafunction which tests whether an inner class template with a particular name and signature exists.
-/**
-
- trait = the name of the metafunction within the tti namespace.
-
- name = the name of the inner class template.
-
- ... = variadic macro data which has the class template parameters.
-
- returns = a metafunction called "boost::tti::trait" where 'trait' is the macro parameter.
-
- The metafunction types and return:
-
- TTI_T = the enclosing type in which to look for our 'name'.
-
- returns = 'value' is true if the 'name' class template, with the signature
- as defined by the '...' variadic macro data, exists within the enclosing type,
- otherwise 'value' is false.
-
-*/
-#define BOOST_TTI_VM_TRAIT_HAS_TEMPLATE_CHECK_PARAMS(trait,name,...) \
- TTI_VM_DETAIL_TRAIT_HAS_TEMPLATE_CHECK_PARAMS(BOOST_PP_CAT(trait,_detail),name,__VA_ARGS__) \
- template<class TTI_T> \
- struct trait \
- { \
- typedef typename BOOST_PP_CAT(trait,_detail)<TTI_T>::type type; \
- \
- BOOST_STATIC_CONSTANT(bool,value=type::value); \
- }; \
-/**/
-
-/// Expands to a metafunction which tests whether an inner class template with a particular name and signature exists.
-/**
-
- name = the name of the inner class template.
-
- ... = variadic macro data which has the class template parameters.
-
- returns = a metafunction called "boost::tti::has_template_check_params_name" where 'name' is the macro parameter.
-
- The metafunction types and return:
-
- TTI_T = the enclosing type in which to look for our 'name'.
-
- returns = 'value' is true if the 'name' class template, with the signature
- as defined by the '...' variadic macro data, exists within the enclosing type,
- otherwise 'value' is false.
-
-*/
-#define BOOST_TTI_VM_HAS_TEMPLATE_CHECK_PARAMS(name,...) \
- BOOST_TTI_VM_TRAIT_HAS_TEMPLATE_CHECK_PARAMS \
- ( \
- BOOST_TTI_VM_HAS_TEMPLATE_CHECK_PARAMS_GEN(name), \
- name, \
- __VA_ARGS__ \
- ) \
-/**/
-
-#endif // BOOST_PP_VARIADICS
-#endif // TTI_VM_TEMPLATE_PARAMS_HPP

Modified: trunk/libs/tti/doc/tti.qbk
==============================================================================
--- trunk/libs/tti/doc/tti.qbk (original)
+++ trunk/libs/tti/doc/tti.qbk 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -7,7 +7,7 @@
 
 [library The Type Traits Introspection Library
     [quickbook 1.5]
- [version 1.4]
+ [version 1.5]
     [id tti]
     [dirname tti]
     [copyright 2010 Tropic Software East Inc]

Modified: trunk/libs/tti/doc/tti_detail.qbk
==============================================================================
--- trunk/libs/tti/doc/tti_detail.qbk (original)
+++ trunk/libs/tti/doc/tti_detail.qbk 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -7,7 +7,7 @@
 
 [section:tti_detail Macro Metafunctions]
 
-The TTI library uses macros to create metafunctions, in the boost::tti namespace,
+The TTI library uses macros to create metafunctions, in the current scope,
 for introspecting an inner element by name. Each macro for a particular type of inner
 element has two forms, the simple one where the first macro parameter designating the
 'name' of the inner element is used to create the name of the metafunction, and the
@@ -16,16 +16,20 @@
 introspected. Other than that difference, the two forms of the macro produce the exact same
 results.
 
-To use these metafunctions you can include the main general header file 'tti.hpp',
+To use these metafunctions you can include the main general header file 'boost/tti/tti.hpp',
 unless otherwise noted. Alternatively you can include a specific header file as
 given in the table below.
 
 A table of these macros is given, based on the inner element whose
-existence the metaprogrammer is introspecting. A more detailed explanation can be found
-in the reference section, and examples of usage can be found in the
+existence the metaprogrammer is introspecting. More detailed explanations
+and examples for each of the macro metafunctions will follow this
+section in the documentation. The actual syntax for each macro metafunction
+can be found in the reference section, and examples of usage for all the
+macro metafunctions can be found in the
 [link sectti_usingMM "Using the Macro Metafunctions"] section.
+
 In the Template column only the name generated by the simple form
-of the template is given since the name generated by the complex form is always boost::tti::trait
+of the template is given since the name generated by the complex form is always 'trait'
 where 'trait' is the first parameter to the corresponding complex form macro. All of the
 introspecting metafunctions in the table below return a boolean constant called 'value', which
 specifies whether or not the inner element exists.
@@ -43,11 +47,11 @@
     [macroref BOOST_TTI_HAS_TYPE](name)
     ]
     [
- `boost::tti::has_type_'name'`
+ `has_type_'name'`
     
     class T = enclosing type
     ]
- [[headerref boost/tti/type.hpp `type.hpp`]]
+ [[headerref boost/tti/has_type.hpp `has_type.hpp`]]
   ]
   [
     [Type with check]
@@ -55,13 +59,13 @@
     [macroref BOOST_TTI_HAS_TYPE](name)
     ]
     [
- `boost::tti::has_type_'name'`
+ `has_type_'name'`
     
     class T = enclosing type
     
     class U = type to check against
     ]
- [[headerref boost/tti/type.hpp `type.hpp`]]
+ [[headerref boost/tti/has_type.hpp `has_type.hpp`]]
   ]
   [
     [Class Template]
@@ -69,13 +73,13 @@
     [macroref BOOST_TTI_HAS_TEMPLATE](name)
     ]
     [
- `boost::tti::has_template_'name'`
+ `has_template_'name'`
     
     class T = enclosing type
     
     All of the template parameters must be 'class' ( or 'typename' ) parameters
     ]
- [[headerref boost/tti/template.hpp `template.hpp`]]
+ [[headerref boost/tti/has_template.hpp `has_template.hpp`]]
   ]
   [
     [Class Template with params]
@@ -83,23 +87,23 @@
     [macroref BOOST_TTI_HAS_TEMPLATE_CHECK_PARAMS](name,ppSeq[footnote A Boost PP data sequence with each comma separated portion of the template parameters as its own sequence element.])
     ]
     [
- `boost::tti::has_template_check_params_'name'`
+ `has_template_check_params_'name'`
     
     class T = enclosing type
     ]
- [[headerref boost/tti/template_params.hpp `template_params.hpp`]]
+ [[headerref boost/tti/has_template_check_params.hpp `has_template_check_params.hpp`]]
   ]
   [
- [Class Template with params using variadic macros[footnote General header file is `tti_vm.hpp`.]]
+ [Class Template with params using variadic macros[footnote General header file is `boost/tti/tti_vm.hpp`.]]
     [
     [macroref BOOST_TTI_VM_HAS_TEMPLATE_CHECK_PARAMS](name,...[footnote The template parameters as variadic data.])
     ]
     [
- `boost::tti::has_template_check_params_'name'`
+ `has_template_check_params_'name'`
     
     class T = enclosing type
     ]
- [[headerref boost/tti/vm_template_params.hpp `vm_template_params.hpp`]]
+ [[headerref boost/tti/vm_has_template_check_params.hpp `vm_has_template_check_params.hpp`]]
   ]
   [
     [Member data]
@@ -107,13 +111,13 @@
     [macroref BOOST_TTI_HAS_MEMBER_DATA](name)
     ]
     [
- `boost::tti::has_member_data_'name'`
+ `has_member_data_'name'`
     
     class T = enclosing type
     
     class R = data type
     ]
- [[headerref boost/tti/mem_data.hpp `mem_data.hpp`]]
+ [[headerref boost/tti/has_member_data.hpp `has_member_data.hpp`]]
   ]
   [
     [Member function as individual types]
@@ -121,7 +125,7 @@
     [macroref BOOST_TTI_HAS_MEMBER_FUNCTION](name)
     ]
     [
- `boost::tti::has_member_function_'name'`
+ `has_member_function_'name'`
     
     class T = enclosing type
     
@@ -134,21 +138,21 @@
     class TAG = (optional) Boost `function_types` tag type.
                 Defaults to `boost::function_types::null_tag`.
     ]
- [[headerref boost/tti/mem_fun.hpp `mem_fun.hpp`]]
+ [[headerref boost/tti/has_member_function.hpp `has_member_function.hpp`]]
   ]
   [
     [Member function as a composite type]
     [
- [macroref BOOST_TTI_HAS_COMP_MEMBER_FUNCTION](name)
+ [macroref BOOST_TTI_HAS_MEMBER_FUNCTION_WITH_SIG](name)
     ]
     [
- `boost::tti::has_comp_member_function_'name'`
+ `has_member_function_with_sig_'name'`
     
     class T = pointer to member function
     
     The form for T is 'ReturnType (Class::*)(Zero or more comma-separated parameter types)'
     ]
- [[headerref boost/tti/comp_mem_fun.hpp `comp_mem_fun.hpp`]]
+ [[headerref boost/tti/has_member_function_with_sig.hpp `has_member_function_with_sig.hpp`]]
   ]
   [
     [Static member data]
@@ -156,13 +160,13 @@
     [macroref BOOST_TTI_HAS_STATIC_MEMBER_DATA](name)
     ]
     [
- `boost::tti::has_static_member_data_'name'`
+ `has_static_member_data_'name'`
     
     class T = enclosing type
     
     class Type = data type
     ]
- [[headerref boost/tti/static_mem_data.hpp `static_mem_data.hpp`]]
+ [[headerref boost/tti/has_static_member_data.hpp `has_static_member_data.hpp`]]
   ]
   [
     [Static member function as individual types]
@@ -170,7 +174,7 @@
     [macroref BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION](name)
     ]
     [
- `boost::tti::has_static_member_function_'name'`
+ `has_static_member_function_'name'`
     
     class T = enclosing type
     
@@ -183,15 +187,15 @@
     class TAG = (optional) Boost `function_types` tag type.
                 Defaults to `boost::function_types::null_tag`.
     ]
- [[headerref boost/tti/static_mem_fun.hpp `static_mem_fun.hpp`]]
+ [[headerref boost/tti/has_static_member_function.hpp `has_static_member_function.hpp`]]
   ]
   [
     [Static member function as a composite type]
     [
- [macroref BOOST_TTI_HAS_COMP_STATIC_MEMBER_FUNCTION](name)
+ [macroref BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION_WITH_SIG](name)
     ]
     [
- `boost::tti::has_comp_static_member_function_'name'`
+ `has_static_member_function_with_sig_'name'`
     
     class T = enclosing type
     
@@ -199,67 +203,8 @@
     
     The form for Type is 'ReturnType (Zero or more comma-separated parameter types)'
     ]
- [[headerref boost/tti/comp_static_mem_fun.hpp `comp_static_mem_fun.hpp`]]
+ [[headerref boost/tti/has_static_member_function_with_sig.hpp `has_static_member_function_with_sig.hpp`]]
   ]
 ]
 
-There is one other macro which creates a metafunction which does not introspect
-for the existence of an inner element type, but is very useful nonetheless.
-Instead the macro metafunction created returns the nested type if it exists, else
-it returns an unspecified type.
-
-[table:tbmacronested TTI Nested Type Macro Metafunction
- [
- [Inner Element]
- [Macro]
- [Template]
- [Specific Header File]
- ]
- [
- [Type]
- [
- [macroref BOOST_TTI_MEMBER_TYPE](name)
- ]
- [
- `boost::tti::member_type_'name'`
-
- class T = enclosing type
-
- returns = the type of 'name' if it exists, else an unspecified type, as a typedef 'type'.
- ]
- [[headerref boost/tti/mem_type.hpp `mem_type.hpp`]]
- ]
-]
-
-Along with this macro metafunction we have another metafunction which, when passed a 'type',
-which can be any type but which will generally be used with the type returned by
-invoking the metafunction generated by `BOOST_TTI_MEMBER_TYPE`, will tell us whether the type exists
-or not as a boolean constant.
-
-[table:existtbmacronested TTI Nested Type Macro Metafunction Existence
- [
- [Inner Element]
- [Macro]
- [Template]
- [Specific Header File]
- ]
- [
- [Type]
- [None]
- [
- [classref boost::tti::valid_member_type]
-
- class T = a type
-
- returns = true if the type exists, false if it does not.
- 'Existence' is determined by whether the type does not equal an unspecified type.
- ]
- [[headerref boost/tti/mem_type.hpp `mem_type.hpp`]]
- ]
-]
-
-The usefulness of the `BOOST_TTI_MEMBER_TYPE` macro metafunction will be shown
-in the next topic when I explain the problem of specifying nested types and how TTI solves
-it.
-
 [endsect]

Modified: trunk/libs/tti/doc/tti_functionality.qbk
==============================================================================
--- trunk/libs/tti/doc/tti_functionality.qbk (original)
+++ trunk/libs/tti/doc/tti_functionality.qbk 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -19,7 +19,8 @@
 * Does it have a static member function with a particular name and a particular signature ?
 * Does it have a static member data with a particular name and of a particular type ?
 
-These are the compile-time questions which the TTI library answers.
+These are the compile-time questions which the TTI library answers. It does this
+by creating metafunctions which can be used at compile-time.
 
 All of the questions above attempt to find an answer about an inner element with
 a particular name. In order to do this using template metaprogramming, macros are used
@@ -28,68 +29,156 @@
 introspect the information that is needed. The name itself of the inner element is always passed
 to the macro as a macro parameter, but other macro parameters may also be needed in some cases.
 
-All of the macros start with the prefix `BOOST_TTI_`, create their metafunctions in a
-namespace called 'boost::tti', and come in two forms:
+All of the macros start with the prefix `BOOST_TTI_`, create their metafunctions as class
+templates in whatever scope the user invokes the macro, and come in two forms:
 
-# In the simplest macro form the 'name' of the inner element is used directly to generate the name
- of the metafunction as well as serving as the 'name' to introspect. To generate the name of
- the metafunction the 'name' is appended to the name of the macro, with the `BOOST_TTI_` prefix removed,
- a final underscore added, and the macro parameter 'name' in lower case. As an example, for the
- macro `BOOST_TTI_HAS_TYPE(MyType)` the name of the metafunction is `boost::tti::has_type_MyType` and it will
- look for an inner type called 'MyType'.
+# In the simplest macro form, which I call the simple form, the 'name' of the inner element
+ is used directly to generate the name
+ of the metafunction as well as serving as the 'name' to introspect. In generating the name of
+ the metafunction from the macro name, the `BOOST_TTI_` prefix is removed,
+ the rest of the macro name is changed to lower case, and an underscore ( '_' ) followed
+ by the 'name' is appended. As an example, for the macro `BOOST_TTI_HAS_TYPE(MyType)` the
+ name of the metafunction is `has_type_MyType` and it will look for an inner type called 'MyType'.
 # In the more complicated macro form, which I call the complex form, the macro starts with
   `BOOST_TTI_TRAIT_` and a 'trait' name is passed as the first parameter, with the 'name' of the inner
   element as the second parameter. The 'trait' name serves solely to completely name the metafunction in
- the `boost::tti` namespace. As an example, for the macro `BOOST_TTI_TRAIT_HAS_TYPE(MyTrait,MyType)` the name of
- the metafunction is `boost::tti::MyTrait` and it will look for an inner type called `MyType`. Every
- macro has a corresponding complex form.
+ whatever scope the macro is invoked. As an example, for the macro
+ `BOOST_TTI_TRAIT_HAS_TYPE(MyTrait,MyType)` the name of
+ the metafunction is `MyTrait` and it will look for an inner type called `MyType`.
   
+Every macro metafunction has a simple form and a corresponding complex form.
 Once either of these two macro forms are used for a particular type of inner element, the
-corresponding macro metafunction has the exact same functionality.
+corresponding macro metafunction works exactly the same way and has the exact same functionality.
 
-[important When introspecting a particular inner element any given macro metafunction generated
-can be reused with any combination of template parameters which involve the same type of inner element.
-Furthermore once a macro metafunction is generated, attempting to generate another macro metafunction of the
-same name will create ODR violations since two C++ constructs with the same name/type in the same namespace
-will have been created. This latter possibility has much less chance of occurence if you use the simple form
-of each macro and just reuse the macro metafunction. You can even do this if you are introspecting for two
-entities of the same name in different enclosing types, or in the same enclosing type but with different
-signatures, as with overloaded member functions.]
-
 In the succeeding documentation all macro metafunctions will be referred by their simple form
-name, but remember that the complex form name can always alternatively be used.
+name, but remember that the complex form can alternatively always be used instead.
 
 [heading Macro Metafunction Name Generation]
 
-The library also provides a set of macros which can be used to automatically generate the
-names of the macro metafunctions so that the end-user does not have to remember the naming
-scheme given above.
-
-For each of the macros using the simple form there are two corresponding macros based on
-the simple form macro name, each of which takes the name of the inner element as the single
-macro parameter.
-
-# The first has the macro metafunction name with `_GEN_BASE` appended to it, and outputs the
- name of the metafunction without a namespace.
-# The second has the macro metafunction name with `_GEN` appended to it, and outputs the full
- name of the macro metafunction within the Boost TTI namespace.
-
-These simple form name generation macros are automatically included when the appropriate macro metafunction
-header file is included.
-
-For the macros using the complicated form, there are two fixed name macros, each of which takes
-the 'trait' name as the single macro parameter.
-
-# `BOOST_TTI_TRAIT_GEN_BASE(trait)` simply outputs 'trait' without a namespace.
-# `BOOST_TTI_TRAIT_GEN(trait)` outputs 'trait' within the BOOST TTI namespace.
+For the simple macro form, even though it is fairly easy to remember the algorithm by which
+the generated metafunction is named, TTI also provides, for each macro metafunction,
+a corresponding 'naming' macro which the end-user can use and whose sole purpose
+is to expand to the metafunction name. The naming macro for each macro metafunction has the form:
+'corresponding-macro'_GEN(name). As an example, BOOST_TTI_HAS_TYPE(MyType) creates a metafunction
+which looks for a nested type called 'MyType' within some enclosing type. The name of the metafunction
+generated, given our algorithm above is 'has_type_MyType'. A corresponding macro called
+BOOST_TTI_HAS_TYPE_GEN, invoked as BOOST_TTI_HAS_TYPE_GEN(MyType) in our example, expands to the
+same 'has_type_MyType'. These name generating macros, for each of the metafunction generating macros,
+are purely a convenience for end-users who find using them easier than remembering the name-generating
+algorithm given above.
+
+[section:tti_functionality_nm_gen Macro metafunction name generation considerations]
+
+Because having a double underscore ( __ ) in a name is reserved by the C++ implementation,
+creating C++ identifiers with double underscores should not avoided by the end-user. When using
+a TTI macro to generate a metafunction using the simple macro form, TTI appends a single
+underscore to the macro name preceding the name of the element that is being introspected.
+The reason for doing this is because Boost discourages as non=portable C++ identifiers with mixed
+case letters and the underscore then becomes the normal way to separate parts of an identifier
+name so that it looks understandable. Because of this decision to use the underscore to generate
+the metafunction name from the macro name, any inner element starting with an underscore will cause
+the identifier for the metafunction name being generated to contain a double underscore. A rule
+to avoid this problem is:
+
+* When the name of the inner element to be introspected begins with an underscore, use
+the complex macro form, where the name of the metafunction is specifically given.
+
+Furthermore because TTI often generates not only a metafunction for the end-user to use but some
+supporting detail metafunctions whose identifier, for reasons of programming clarity, is the same
+as the metafunction with further letters appended to it separated by an underscore, another rule is:
+
+# When using the complex macro form, which fully gives the name of the generated
+macro metafunction, that name should not end with an underscore.
+
+Following these two simple rules will avoid names with double underscores being
+generated by TTI.
+
+[heading Reusing the named metafunction]
+
+When the end-user uses the TTI macros to generate a metafunction
+for introspecting an inner element of a particular type, that metafunction can be
+re-used with any combination of valid template parameters which involve the same type of inner
+element of a particular name.
+
+As one example of this let's consider two different types called
+'AType' and 'BType', for each of which we want to determine whether an inner type called
+'InnerType' exists. For both these types we need only generate a single macro metafunction in
+the current scope by using:
+
+BOOST_TTI_HAS_TYPE(InnerType)
+
+We now have a metafunction, which is a C++ class template, in the current scope whose C++ identifier
+is 'has_type_InnerType'. We can use this same metafunction to introspect the existence of the nested type
+'InnerType' in either 'AType' or 'BType' at compile time. Although the syntax for doing this has no yet
+been explained, I will give it here so that you can see how 'has_type_InnerType' is reused:
+
+# 'has_type_InnerType<AType>::value' is a compile time constant telling us whether 'InnerType' is a
+type which is nested within 'AType'.
+
+# 'has_type_InnerType<BType>::value' is a compile time constant telling us whether 'InnerType' is a
+type which is nested within 'BType'.
+
+As another example of this let's consider a single type, called 'CType', for which we want to
+determine if it has either of two overloaded member functions with the same name of 'AMemberFunction'
+but with the different function signatures of 'int (int)' and 'double (long)'. For both these
+member functions we need only generate a single macro metafunction in the current scope by using:
+
+BOOST_TTI_HAS_MEMBER_FUNCTION(AMemberFunction)
+
+We now have a metafunction, which is a C++ class template, in the current scope whose C++ identifier
+is 'has_member_function_AMemberFunction'. We can use this same metafunction to introspect the
+existence of the member function 'AMemberFunction' with either the function signature of
+'int (int)' or 'double (long)' in 'CType' at compile time. Although the syntax for doing this has no yet
+been explained, I will give it here so that you can see how 'has_type_InnerType' is reused:
+
+# 'has_member_function_AMemberFunction<CType,int,boost::mpl::vector<int> >::value' is a
+compile time constant telling us whether 'AMemberFunction' is a member function of type 'CType'
+whose function signtaure is 'int (int)'.
+
+# 'has_member_function_AMemberFunction<CType,double,boost::mpl::vector<long> >::value' is a
+compile time constant telling us whether 'AMemberFunction' is a member function of type 'CType'
+whose function signtaure is 'double (long)'.
+
+These are just two examples of the ways a particular macro metafunction can be reused. The two
+'constants' when generating a macro metafunction are the 'name' and 'type of inner element'. Once
+the macro metafunction for a particular name and inner element type has been generated, it can be reused
+for introspecting the inner element(s) of any enclosing type which correspond to that name and
+inner element type.
+
+[heading Avoiding ODR violations]
+
+The TTI macro metafunctions are generating directly in the enclosing scope in which the
+corresponding macro is invoked. This can be any C++ scope in which a class template can
+be specified. Within this enclosing scope the name of the metafunction
+being generated must be unique or else a C++ ODR ( One Definition Rule ) violation will occur.
+This is extremely important to remember, especially when the enclosing scope can occur in
+more than one translation unit, which is the case for namespaces and the global scope.
+
+Because of ODR, and the way that the simple macro form metafunction name is directly dependent
+on the inner type of and name of the element being introspected, it is the responsibility of the
+programmer using the TTI macros to generate metafunctions to avoid ODR within a module
+( application or library ). There are a few general methods for doing this:
+
+# Create unique namespace names in which to generate the macro metafunctions and/or generate
+the macro metafunctions in C++ scopes which can not extend across translation units. The most
+obvious example of this latter is within C++ classes.
+
+# Use the complex macro form to specifically name the metafunction generated in order to
+provide a unique name.
+
+# Avoid using the TTI macros in the global scope.
+
+For anyone using TTI in a library which others will eventually use, it is important
+to generate metafunction names which are unique to that library.
+
+TTI also reserves not only the name generated by the macro metafunction for its use
+but also any C++ identifier sequence which begins with that name. In other words
+if the metafunction being generated by TTI is named 'MyMetafunction' using the complex
+macro form, do not create any C++ construct with an identifier starting with 'MyMetaFunction',
+such as 'MyMetaFunction_Enumeration' or 'MyMetaFunctionHelper' in the same scope.
+All names starting wih the metafunction name in the current scope should be considered
+out of bounds for the programmer using TTI to use.
 
-Both of these last macros are trivial, but are provided nonetheless to parallel the way
-that the simple form generation macros output their macro metafunction names.
-
-Finally there is a convenience macro which simply outputs the name of the full TTI namespace.
-
-# `BOOST_TTI_NAMESPACE` simply outputs the full TTI namespace.
-
-These complicated form macros are included by all TTI header files.
+[endsect]
 
 [endsect]

Modified: trunk/libs/tti/doc/tti_history.qbk
==============================================================================
--- trunk/libs/tti/doc/tti_history.qbk (original)
+++ trunk/libs/tti/doc/tti_history.qbk 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -7,6 +7,30 @@
 
 [section:tti_history History]
 
+[heading Version 1.5]
+
+* The TTI has been accepted into Boost. This is the first iteration of changes as the
+ library is being prepared for Boost based on the library review and end-user comments
+ and suggestions. For each iteration of changes made based on end-user comments and
+ suggestions, I will produce a new version number so that end-users who want to follow
+ the progress of the library for Boost can know what is being changed. I will be targeting
+ Boost 1.49 for completing all changes and passing all tests in order to have TTI ready to
+ be copied from Boost trunk to Boost release for inclusion into Boost.
+* Breaking changes
+ * Macro metafunctions are no longer generated in any namespace, but directly
+ in the scope of the end-user.
+ * The metafunction class generating macros, for each metafunction macro, have been removed.
+ The end-user can use boost::mpl::quote instead if he wishes.
+ * The metafunction name generating macros have been simplified so that no namespace name is generated,
+ and for each macro of the macro metafunctions there is a single metafunction name generating macro.
+ * The BOOST_TTI_TRAITS_GEN macro has been removed.
+ * Individual header file names have changed to more closely reflect the metafunction macro names.
+ * The names of the composite member function and composite static member function macros
+ have changed from BOOST_TTI_HAS_COMP_MEMBER_FUNCTION to BOOST_TTI_HAS_MEMBER_FUNCTION_WITH_SIG
+ and from BOOST_TTI_HAS_COMP_STATIC_MEMBER_FUNCTION to BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION_WITH_SIG.
+* All template parameter names are now unique to TTI to avoid name clashes.
+* Nullary type metafunctions can be passed non-class types as is.
+
 [heading Version 1.4]
 
 * Breaking changes
@@ -28,7 +52,7 @@
 [heading Version 1.3]
 
 * Breaking changes
- * The names of the main header files are shortened to 'tti.hpp' and 'tti_vm.hpp'.
+ * The names of the main header files are shortened to 'boost/tti/tti.hpp' and 'boost/tti/tti_vm.hpp'.
   * The library follows the Boost conventions.
     * Changed the filenames to lower case and underscores.
     * The top-level tti namespace has become the boost::tti namespace.

Modified: trunk/libs/tti/doc/tti_introduction.qbk
==============================================================================
--- trunk/libs/tti/doc/tti_introduction.qbk (original)
+++ trunk/libs/tti/doc/tti_introduction.qbk 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -7,7 +7,7 @@
 
 [section:tti_intro Introduction]
 
-Welcome to the Type Traits Introspection library version 1.4.
+Welcome to the Type Traits Introspection library version 1.5.
 
 The Type Traits Introspection library, or TTI for short, is a library
 of macros generating metafunctions, and a set of parallel nullary type
@@ -34,28 +34,21 @@
   using a set of macros. Each macro takes the name of the
   type's element and generates a metafunction which can be
   subsequently invoked to determine whether or not the
- element exists within the type. These metafunctions
+ element exists within the type. These generated metafunctions
   will be called "macro metafunctions" in the documentation.
-* Provide corresponding metafunctions which can operate
- on almost all of the macro metafunctions generated.
- These secondary metafunctions provide
- the same set of introspection as the macro metafunctions but
- allow for an easier to use syntax, where
- the types being passed are in the form of nullary metafunctions
- themselves. They always work with individual types
- when specifying function syntax rather than a
- composite type. These metafunctions are called 'nullary type
- metafunctions' in the documentation.
-* Provide a set of macros for all of the macro metafunctions
- which create metafunction classes, so the metafunctions
- generated by the macro metafunctions can be passed as metadata.
- These can be used by the nullary type metafunctions, and may
- find other uses for the template metaprogrammer.
+* Provide a set of named metafunctions which can operate
+ on the generated macro metafunctions using a different syntax
+ which some programmers may find easier to use. These named
+ metafunctions will be called "nullary type metafunctions"
+ in the documentation. This set of nullary type metafunctions
+ can be completely ignored by programmers who do not find
+ their syntax useful since they have the exact
+ same functionality as the macro metafunctions above.
    
 The library is dependent on Boost PP, Boost MPL,
 Boost Type Traits, and Boost Function Types.
-The library is also dependent
-on the `variadic_macro_data` library currently in the sandbox
+The library is also dependent on the variadic macro support
+of the Boost PP library currently in the sandbox
 if the variadic macros in the library are used.
 
 The library is a header only library.
@@ -72,11 +65,11 @@
 which bring in all the rest of the specific header files.
 
 # The main header, which does not require using the library
-support for variadic macros, is `tti.hpp`.
+support for variadic macros, is `boost/tti/tti.hpp`.
 This can be used for the vast majority of functionality in the library.
 # The secondary header, which uses a small subset of the
 library functionality, providing an alternate use of particular
-macros with variadic macro support, is `tti_vm.hpp`.
+macros with variadic macro support, is `boost/tti/tti_vm.hpp`.
 
 There are also separate specific header files for each of the elements to be
 introspected by the library. This allows for finer-grained inclusion
@@ -89,57 +82,55 @@
   ]
   [
     [Type]
- [[headerref boost/tti/type.hpp `type.hpp`]]
+ [[headerref boost/tti/has_type.hpp `has_type.hpp`]]
   ]
   [
     [Template]
- [[headerref boost/tti/template.hpp `template.hpp`]]
+ [[headerref boost/tti/has_template.hpp `has_template.hpp`]]
   ]
   [
     [Template with params]
- [[headerref boost/tti/template_params.hpp `template_params.hpp`]]
+ [[headerref boost/tti/has_template_check_params.hpp `has_template_check_params.hpp`]]
   ]
   [
     [Template with params - variadic macros]
- [[headerref boost/tti/vm_template_params.hpp `vm_template_params.hpp`]]
+ [[headerref boost/tti/vm_has_template_check_params.hpp `vm_has_template_check_params.hpp`]]
   ]
   [
     [Member data]
- [[headerref boost/tti/mem_data.hpp `mem_data.hpp`]]
+ [[headerref boost/tti/has_member_data.hpp `has_member_data.hpp`]]
   ]
   [
     [Member function]
- [[headerref boost/tti/mem_fun.hpp `mem_fun.hpp`]]
+ [[headerref boost/tti/has_member_function.hpp `has_member_function.hpp`]]
   ]
   [
     [Member function - composite syntax]
- [[headerref boost/tti/comp_mem_fun.hpp `comp_mem_fun.hpp`]]
+ [[headerref boost/tti/has_mem_function_with_sig.hpp `has_member_function_with_sig.hpp`]]
   ]
   [
     [Static member data]
- [[headerref boost/tti/static_mem_data.hpp `static_mem_data.hpp`]]
+ [[headerref boost/tti/has_static_member_data.hpp `has_static_member_data.hpp`]]
   ]
   [
     [Static member function]
- [[headerref boost/tti/static_mem_fun.hpp `static_mem_fun.hpp`]]
+ [[headerref boost/tti/has_static_member_function.hpp `has_static_member_function.hpp`]]
   ]
   [
     [Static member function - composite syntax]
- [[headerref boost/tti/comp_static_mem_fun.hpp `comp_static_mem_fun.hpp`]]
+ [[headerref boost/tti/has_static_member_function_with_sig.hpp `has_static_member_function_with_sig.hpp`]]
   ]
   [
     [Member type]
- [[headerref boost/tti/mem_type.hpp `mem_type.hpp`]]
+ [[headerref boost/tti/member_type.hpp `member_type.hpp`]]
   ]
 ]
 
-If the general header file `tti_vm.hpp`
+If the general header file `boost/tti/tti_vm.hpp`
 or the specific header file
-[headerref boost/tti/vm_template_params.hpp `vm_template_params.hpp`],
-are used the library is also dependent
-on the `variadic_macro_data` library currently in the sandbox.
-If this header is not used there is no need to download
-the `variadic_macro_data` library and use it in any way.
+[headerref boost/tti/vm_has_template_check_params.hpp `vm_has_template_check_params.hpp`],
+are used, the library uses variadic macros and is also dependent
+on the variadic macro support of the Boost PP library currently in the Boost trunk.
 
 [endsect]
 

Modified: trunk/libs/tti/doc/tti_meta_classes.qbk
==============================================================================
--- trunk/libs/tti/doc/tti_meta_classes.qbk (original)
+++ trunk/libs/tti/doc/tti_meta_classes.qbk 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -19,161 +19,16 @@
 on how many parameters are being passed. Thus for two parameters we would have
 `macrometafunction<_,_>` etc., with another placeholder (`_`) added for each subsequent parameter.
 
-However using a placeholder expression may not be the fastest way when considering compile-time
-speed. Because of this the TTI library provides a set of macros for each of the macro metafunctions
-which generate a corresponding metafunction class. We will call this set of macros
-the 'metafunction class macros'.
-
-These macros take exactly the same macro parameters as their corresponding
-macro metafunctions. They generate a corresponding metafunction class rather
-than a metafunction itself, which allows us to pass our macro metafunctions
-as metadata, just as using placeholder expressions allows us to do.
-
-For these metafunction class macros there is a simple form and a complex form name
-just as there is for the macro metafunctions. For each macro metafunction,
-the name for the corresponding metafunction class macro is the macro
-metafunction name with the sequence `MTFC_` ( for "MeTaFunction Class" )
-following the `BOOST_TTI_` ( or `BOOST_TTI_VM_` ) portion of the macro metafunction name.
-The subsequent metafunction class name, using the simple form, is the same name as
-the corresponding macro metafunction name but with `mtfc_` prepended to the name.
-
-As with the complex form name of the macro metafunctions,
-the complex form name of the corresponding metafunction class macros is
-completely determined by the first 'trait' parameter.
-
-In the following table I do not specify the macro parameters
-as they are exactly the same as those for their corresponding macro
-metafunction.
-
-[table:tbmetaclasses TTI Metafunction Classes
- [
- [Macro Metafunction]
- [Metafunction Class Macro]
- [Metafunction Class Name]
- ]
- [
- [[macroref BOOST_TTI_HAS_TYPE]]
- [[macroref BOOST_TTI_MTFC_HAS_TYPE]]
- [`boost::tti::mtfc_has_type_'name'`]
- ]
- [
- [[macroref BOOST_TTI_TRAIT_HAS_TYPE]]
- [[macroref BOOST_TTI_MTFC_TRAIT_HAS_TYPE]]
- [`boost::tti::'trait'`]
- ]
- [
- [[macroref BOOST_TTI_HAS_TEMPLATE]]
- [[macroref BOOST_TTI_MTFC_HAS_TEMPLATE]]
- [`boost::tti::mtfc_has_template_'name'`]
- ]
- [
- [[macroref BOOST_TTI_TRAIT_HAS_TEMPLATE]]
- [[macroref BOOST_TTI_MTFC_TRAIT_HAS_TEMPLATE]]
- [`boost::tti::'trait'`]
- ]
- [
- [[macroref BOOST_TTI_HAS_TEMPLATE_CHECK_PARAMS]]
- [[macroref BOOST_TTI_MTFC_HAS_TEMPLATE_CHECK_PARAMS]]
- [`boost::tti::mtfc_has_template_check_params_'name'`]
- ]
- [
- [[macroref BOOST_TTI_TRAIT_HAS_TEMPLATE_CHECK_PARAMS]]
- [[macroref BOOST_TTI_MTFC_TRAIT_HAS_TEMPLATE_CHECK_PARAMS]]
- [`boost::tti::'trait'`]
- ]
- [
- [[macroref BOOST_TTI_VM_HAS_TEMPLATE_CHECK_PARAMS]]
- [[macroref BOOST_TTI_VM_MTFC_HAS_TEMPLATE_CHECK_PARAMS]]
- [`boost::tti::mtfc_has_template_check_params_'name'`]
- ]
- [
- [[macroref BOOST_TTI_VM_TRAIT_HAS_TEMPLATE_CHECK_PARAMS]]
- [[macroref BOOST_TTI_VM_MTFC_TRAIT_HAS_TEMPLATE_CHECK_PARAMS]]
- [`boost::tti::'trait'`]
- ]
- [
- [[macroref BOOST_TTI_HAS_MEMBER_DATA]]
- [[macroref BOOST_TTI_MTFC_HAS_MEMBER_DATA]]
- [`boost::tti::mtfc_has_member_data_'name'`]
- ]
- [
- [[macroref BOOST_TTI_TRAIT_HAS_MEMBER_DATA]]
- [[macroref BOOST_TTI_MTFC_TRAIT_HAS_MEMBER_DATA]]
- [`boost::tti::'trait'`]
- ]
- [
- [[macroref BOOST_TTI_HAS_MEMBER_FUNCTION]]
- [[macroref BOOST_TTI_MTFC_HAS_MEMBER_FUNCTION]]
- [`boost::tti::mtfc_has_member_function_'name'`]
- ]
- [
- [[macroref BOOST_TTI_TRAIT_HAS_MEMBER_FUNCTION]]
- [[macroref BOOST_TTI_MTFC_TRAIT_HAS_MEMBER_FUNCTION]]
- [`boost::tti::'trait'`]
- ]
- [
- [[macroref BOOST_TTI_HAS_COMP_MEMBER_FUNCTION]]
- [[macroref BOOST_TTI_MTFC_HAS_COMP_MEMBER_FUNCTION]]
- [`boost::tti::mtfc_has_comp_member_function_'name'`]
- ]
- [
- [[macroref BOOST_TTI_TRAIT_HAS_COMP_MEMBER_FUNCTION]]
- [[macroref BOOST_TTI_MTFC_TRAIT_HAS_COMP_MEMBER_FUNCTION]]
- [`boost::tti::'trait'`]
- ]
- [
- [[macroref BOOST_TTI_HAS_STATIC_MEMBER_DATA]]
- [[macroref BOOST_TTI_MTFC_HAS_STATIC_MEMBER_DATA]]
- [`boost::tti::mtfc_has_static_member_data_'name'`]
- ]
- [
- [[macroref BOOST_TTI_TRAIT_HAS_STATIC_MEMBER_DATA]]
- [[macroref BOOST_TTI_MTFC_TRAIT_HAS_STATIC_MEMBER_DATA]]
- [`boost::tti::'trait'`]
- ]
- [
- [[macroref BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION]]
- [[macroref BOOST_TTI_MTFC_HAS_STATIC_MEMBER_FUNCTION]]
- [`boost::tti::mtfc_has_static_member_function_'name'`]
- ]
- [
- [[macroref BOOST_TTI_TRAIT_HAS_STATIC_MEMBER_FUNCTION]]
- [[macroref BOOST_TTI_MTFC_TRAIT_HAS_STATIC_MEMBER_FUNCTION]]
- [`boost::tti::'trait'`]
- ]
- [
- [[macroref BOOST_TTI_HAS_COMP_STATIC_MEMBER_FUNCTION]]
- [[macroref BOOST_TTI_MTFC_HAS_COMP_STATIC_MEMBER_FUNCTION]]
- [`boost::tti::mtfc_has_comp_static_member_function_'name'`]
- ]
- [
- [[macroref BOOST_TTI_TRAIT_HAS_COMP_STATIC_MEMBER_FUNCTION]]
- [[macroref BOOST_TTI_MTFC_TRAIT_HAS_COMP_STATIC_MEMBER_FUNCTION]]
- [`boost::tti::'trait'`]
- ]
- [
- [[macroref BOOST_TTI_MEMBER_TYPE]]
- [[macroref BOOST_TTI_MTFC_MEMBER_TYPE]]
- [`boost::tti::mtfc_member_type_'name'`]
- ]
- [
- [[macroref BOOST_TTI_TRAIT_MEMBER_TYPE]]
- [[macroref BOOST_TTI_MTFC_TRAIT_MEMBER_TYPE]]
- [`boost::tti::'trait'`]
- ]
-]
-
-Each of the metafunction classes have exactly the same functionality
-as their corresponding macro metafunction. The metafunction class generated
-can be passed as metadata in the same way that their correspending macro
-metafunctions with placeholder expressions can be passed as metadata.
+The Boost MPL library also provides the high-level primitive 'quote' which
+creates a metafunction class from any n-ary metafunction. The syntax for this
+is also fairly easy. The syntax for passing a macro metafunction as a metafunction
+class becomes `boost::mpl::quote(n)<macrometafunction>' where 'n' depends on the
+actual number of template parameters the macro metafunction has.
 
 As will be seen when we discuss the nullary type metafunctions, each nullary type
 metafunction takes as its first parameter a macro metafunction as metadata in
 the form of a lambda expression. Therefore we can use either a metafunction
-class generated by one of the macros above, or a placeholder expression, to
-pass a macro metafunction as metadata to our nullary type metafunctions. Other
-uses for our macro metafunctions as metadata may be found by the template
-metaprogrammer using the TTI library.
+class generated by boost::mpl::quote(n), or a placeholder expression, to
+pass a macro metafunction as metadata to our nullary type metafunctions.
   
 [endsect]

Modified: trunk/libs/tti/doc/tti_metafunctions.qbk
==============================================================================
--- trunk/libs/tti/doc/tti_metafunctions.qbk (original)
+++ trunk/libs/tti/doc/tti_metafunctions.qbk 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -8,78 +8,107 @@
 [section:tti_metafunctions Nullary Type Metafunctions]
 
 The macro metafunctions provide a complete set of functionality for
-anything one would like to do using the TTI library. Why then do we
-have another set of parallel functionality as nullary type metafunctions ?
+anything one would like to do using the TTI library.
 
-The nullary type metafunctions parallel only those macro metafunctions in which types are specified
-individually rather than in a composite manner. The individual types are passed to the nullary
-type metafunctions as nullary metafunctions, hence the name of this group of metafunctions.
-They more easily allow a syntax where nested types can be specified without needing to manually
-reach into the 'type' member of `BOOST_TTI_MEMBER_TYPE` or the 'type' member of its nullary type
-metafunction equivalent called `boost::tti::mf_member_type`.
-
-In a very real way the nullary type metafunctions exist just to provide syntactic improvements
-over the macro metafunctions and are not needed to use the library, since all of the library
-functionality is already provided with the macro metafunctions. Nonetheless syntactic ease of use
-is a goal of the TTI library and therefore these metafunctions are provided to allow
-that syntactic improvement.
-
-The nullary type metafunctions reuse the metafunctions generated by the macro metafunctions.
-To do this the resulting metafunction generated by a particular macro metafunction needs to
-be passed as metadata to a corresponding nullary type metafunction.
-
-A lambda expression, in the form of a metafunction class or a placeholder expression, is passed as the
-first parameter to our nullary type metafunctions. We have already seen how the TTI library supplies
-metafunction classes through the use of metafunction class macros for each of the macro metafunctions.
-The end-user can use these metafunction classes directly, or can use placeholder expressions with the
-metafunctions generated by the macro metafunctions.
-
-The remaining parameters passed to the nullary type metafunctions are 'types'. These 'types' always consist
-first of the enclosing type and then
-possibly other types which make up the signature of whatever inner element we are introspecting. Each of these
-'types' is passed as a nullary metafunction whose typedef 'type' is the actual type.
-
-The exception to this use of nullary type metafunctions when specifying 'types' is when a Boost
-`function_types` tag type, which is optional, is specified as an addition to the function signature.
-Also when dealing with a function signature and parameter types being passed, while the
-parameter 'types' themselves are in the form of nullary metafunctions, the MPL forward sequence
-which contains the parameter 'types' is a plain type and should not be wrapped as a nullary metafunction.
-
-For a type which is in scope, we can always use
-boost::mpl::identity to create our nullary metafunction, and there can never be a compiler error for
-such known types as long as declarations for them exist or they are built-in C++ types.
-For nested types, which may or may not exist, we can pass the resulting nullary metafunction generated by
-`BOOST_TTI_MEMBER_TYPE`, or its equivalent nullary type metafunction
-`boost::tti::mf_member_type` ( explained later ).
-
-To use these metafunctions you need to include the main header file `tti.hpp`, unless otherwise noted.
-Alternatively you can include a specific header as given in the table below,
+What is presented here is a set of named metafunctions,
+in the boost::tti namespace, which offer
+an alternative syntax for using the macro metafunctions. No new
+functionality is involved and the difference may be seen, depending on
+one's own predilection, as a valid alternative syntax for
+TTI functionality, or as an unneeded syntactical complication
+which can be avoided. For those who are satisfied with the
+syntactical usage of the macro metafunctions, there is no need
+to understand the syntactical difference as presented here, and this
+entire section can be skipped.
+
+The macro metafunctions, like all metafunctions,
+pass their parameters as types. When passing the
+result of one metafunction as a parameter to another metafunction, one
+is reaching into the first metafunction to access the nested 'type'
+of its instantiated result in order
+to pass it to another metafunction as a parameter. This is common
+metafunction usage, and is the syntax of the macro metafunctions as well.
+
+An alternative use of metafunctions is to pass the instantiated metafunction itself
+as a nullary metafunction, rather than its nested 'type' member, as a parameter to
+another metafunction. This is purely a syntactical advantage of not having to
+manually specify '::type' in order to extract the nested 'type' from the resulting
+nullary metafunction.
+
+The TTI named metafunctions reuse the macro metafunctions
+but pass nearly all template parameters which are classes as nullary metafunctions.
+They are therefore called 'nullary type metafuncions' as opposed to the
+'macro metafunctions' of ordinary TTI usage.
+
+Because the nullary type metafunctions reuse the metafunctions generated by the macro metafunctions,
+the metafunction generated by a particular macro metafunction needs to
+be passed as metadata to a corresponding nullary type metafunction. As explained in Boost
+MPL, a metafunction as metadata is passed as a lambda expression, in the form of a metafunction
+class or a placeholder expression. This lambda expression is passed as the
+first parameter to each of our nullary type metafunctions.
+
+The remaining parameters passed to the nullary
+type metafunctions are 'types'. These 'types' always consist first of the enclosing type and then
+possibly other types which make up the signature of whatever inner element we are introspecting.
+Whenever each of these 'types' is a class it is normally passed as a nullary metafunction
+whose typedef 'type' is the actual type.
+
+The exceptions to this use of nullary type metafunctions when specifying 'types' are:
+
+# When a Boost `function_types` tag type, which is optional, is specified as an addition to the
+function signature it is passed as is.
+
+# When specifying a function signature and parameter types being passed,
+the MPL forward sequence which contains the parameter 'types' is passed as is.
+
+Whenever any type is not a class, it can passed to the nullary type metafunctions as is
+or it can be passed as a nullary metafunction by wrapping it with boost::mpl::identity.
+
+For a class type which is in scope, we can always use
+boost::mpl::identity to create our nullary metafunction, and there
+can never be a compiler error for such known types as long as declarations for them exist.
+For nested types, which may or may not exist, we can pass the resulting nullary
+metafunction generated by `BOOST_TTI_MEMBER_TYPE`, or its equivalent
+nullary type metafunction `boost::tti::mf_member_type` ( explained later ).
+
+To use these metafunctions you need to include the main header file `boost/tti/tti.hpp`,
+unless otherwise noted. Alternatively you can include a specific header as given in the
+table below,
 
 [tip
-The header files <boost/mpl/identity.hpp> and <boost/mpl/placeholders.hpp> are included by
+The header files <boost/mpl/identity.hpp>, <boost/mpl/placeholders.hpp>, and
+<boost/mpl/quote.hpp> are included by
 the TTI header files whenever you include a general header file or a specific header file
-for a nullary type metafunction, so you need not
-manually include it in order to wrap a known type as a nullary
-metafunction or use a placeholder expression. Also the header file <boost/mpl/vector.hpp> is
-included by the general header file 'tti.hpp' or the specific header files which introspect functions,
-so if you use an MPL vector as your
+for a nullary type metafunction. So you need not
+manually include any of these header files in order to wrap a known type as a nullary
+metafunction, use a placeholder expression, or use boost::mpl::quote to pass
+a macro metafunction as a metafunction class to a nullary type metafunction.
+Also the header file <boost/mpl/vector.hpp> is
+included by the general header file 'boost/tti/tti.hpp' or the specific header files which
+introspect functions, so if you use an MPL vector as your
 forward sequence wrapper for parameter types, you need not manually include the header file.
 ]
 
-A table of these metafunctions is given, based on the inner element whose
-existence the metaprogrammer is introspecting. A more detailed explanation can be found
-in the reference section, and examples of usage can be found in the
+A table of the nullary type metafunctions is given, based on the inner element whose
+existence the metaprogrammer is introspecting.
+More detailed explanations
+and examples for each of the nullary type metafunctions will follow this
+section in the documentation.
+The actual syntax for each nullary type metafunction
+can be found in the reference section,
+and general examples of usage can be found in the
 [link sectti_usingNTM "Using the Nullary Type Metafunctions"] section.
 All of the metafunctions are in the top-level 'boost::tti' namespace,
-all have a particular name based on the type of its functionality, and all begin with the prefix
-'mf_' so as not to conflict with the macro metafunction names generated by the library.
+all have a particular name based on the type of its functionality, and all begin with
+the prefix 'mf_', representing the fact that they are metafunctions and to distinguish
+them from any other constructs created by TTI in the boost::tti namespace.
 
 [table:tbmetafunctions TTI Nullary Type Metafunctions
   [
     [Inner Element]
     [Template]
     [Parameters]
- [Macro Equivalent]
+ [Macro Metafunction Passed]
     [Specific Header File]
   ]
   [
@@ -93,7 +122,7 @@
     class T = enclosing type nullary metafunction
     ]
     [`BOOST_TTI_HAS_TYPE`]
- [[headerref boost/tti/type.hpp `type.hpp`]]
+ [[headerref boost/tti/has_type.hpp `has_type.hpp`]]
   ]
   [
     [Type with check]
@@ -108,7 +137,7 @@
     class U = type to check against nullary metafunction
     ]
     [`BOOST_TTI_HAS_TYPE`]
- [[headerref boost/tti/type.hpp `type.hpp`]]
+ [[headerref boost/tti/has_type.hpp `has_type.hpp`]]
   ]
   [
     [Class Template]
@@ -121,7 +150,7 @@
     class T = enclosing type nullary metafunction
     ]
     [`BOOST_TTI_HAS_TEMPLATE`]
- [[headerref boost/tti/template.hpp `template.hpp`]]
+ [[headerref boost/tti/has_template.hpp `has_template.hpp`]]
   ]
   [
     [Class Template with params]
@@ -139,9 +168,9 @@
     `BOOST_TTI_VM_HAS_TEMPLATE_CHECK_PARAMS`
     ]
     [
- [headerref boost/tti/template_params.hpp `template_params.hpp`]
+ [headerref boost/tti/has_template_check_params.hpp `has_template_check_params.hpp`]
     
- [headerref boost/tti/vm_template_params.hpp `vm_template_params.hpp`]
+ [headerref boost/tti/vm_has_template_check_params.hpp `vm_has_template_check_params.hpp`]
     ]
   ]
   [
@@ -157,7 +186,7 @@
     class R = type of member data nullary Metafunction
     ]
     [`BOOST_TTI_HAS_MEMBER_DATA`]
- [[headerref boost/tti/mem_data.hpp `mem_data.hpp`]]
+ [[headerref boost/tti/has_member_data.hpp `has_member_data.hpp`]]
   ]
   [
     [Member function]
@@ -178,7 +207,7 @@
     class TAG = (optional) a Boost `function_types` tag type.
     ]
     [`BOOST_TTI_HAS_MEMBER_FUNCTION`]
- [[headerref boost/tti/mem_fun.hpp `mem_fun.hpp`]]
+ [[headerref boost/tti/has_member_function.hpp `has_member_function.hpp`]]
   ]
   [
     [Static data]
@@ -193,7 +222,7 @@
     class R = type of static data nullary metafunction
     ]
     [`BOOST_TTI_HAS_STATIC_MEMBER_DATA`]
- [[headerref boost/tti/static_mem_data.hpp `static_mem_data.hpp`]]
+ [[headerref boost/tti/has_static_member_data.hpp `has_static_member_data.hpp`]]
   ]
   [
     [Static function]
@@ -214,7 +243,7 @@
     class TAG = (optional) a Boost `function_types` tag type.
     ]
     [`BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION`]
- [[headerref boost/tti/static_mem_fun.hpp `static_mem_fun.hpp`]]
+ [[headerref boost/tti/has_static_member_function.hpp `has_static_member_function.hpp`]]
   ]
 ]
 
@@ -229,14 +258,14 @@
 
 Just as there exists the macro `BOOST_TTI_MEMBER_TYPE` for creating
 a macro metafunction which returns a nested type if it exists, else an unspecified
-type, there is also the equivalent nullary type metafunction.
+marker type, there is also the equivalent nullary type metafunction.
 
 [table:tbmetanested TTI Nested Type Nullary Type Metafunction
   [
     [Inner Element]
     [Template]
     [Parameters]
- [Macro Equivalent]
+ [Macro Metafunction Passed]
     [Specific Header File]
   ]
   [
@@ -250,7 +279,7 @@
     class T = enclosing type nullary metafunction
     ]
     [`BOOST_TTI_MEMBER_TYPE`]
- [[headerref boost/tti/mem_type.hpp `mem_type.hpp`]]
+ [[headerref boost/tti/member_type.hpp `member_type.hpp`]]
   ]
 ]
 
@@ -261,8 +290,7 @@
 
 The use of this metafunction allows us to created deeply nested types,
 which may or may not exist, as nullary metafunctions in much the same way
-that `BOOST_TTI_MEMBER_TYPE` can. The difference is
-the simpler syntax when using `boost::tti::mf_member_type`.
+that `BOOST_TTI_MEMBER_TYPE` can.
 
 As an example, given the theoretical relationship of types we used before:
 
@@ -295,14 +323,14 @@
  typedef
  boost::tti::mf_member_type
    <
- boost::tti::member_type_FindType<_>,
+ member_type_FindType<_>,
    boost::tti::mf_member_type
      <
- boost::tti::member_type_CType<_>,
+ member_type_CType<_>,
      boost::tti::mf_member_type
        <
- boost::tti::member_type_BType<_>,
- boost::tti::member_type_AType
+ member_type_BType<_>,
+ member_type_AType
          <
          T
>
@@ -316,7 +344,7 @@
 as in all of the nullary type metafunctions, is a nullary metafunction itself,
 which means that the enclosing type can be specified as the result
 of using `BOOST_TTI_MEMBER_TYPE` as well as the
-result of using `mf_member_type` itself.
+result of using `boost::tti::mf_member_type` itself.
 
 Both techniques are shown in the example
 above, and the same technique for creating nested types as nullary metafunctions
@@ -344,7 +372,7 @@
     returns = true if the nullary metafunction's inner 'type' exists, false if it does not.
               'Existence' is determined by whether the type does not equal an unspecified type.
     ]
- [[headerref boost/tti/mem_type.hpp `mem_type.hpp`]]
+ [[headerref boost/tti/member_type.hpp `member_type.hpp`]]
   ]
 ]
 
@@ -352,6 +380,4 @@
 In the example above the type T is passed as a nullary metafunction holding the actual type,
 where for the macro metafunction equivalent the type T is passed as the actual type being tested.
 
-In our next section we will look at examples of nullary type metafunction use.
-
 [endsect]

Modified: trunk/libs/tti/doc/tti_nested_type.qbk
==============================================================================
--- trunk/libs/tti/doc/tti_nested_type.qbk (original)
+++ trunk/libs/tti/doc/tti_nested_type.qbk 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -13,7 +13,7 @@
 using the functionality in the library, whether it is invoking its function-like macros
 or instantiating the macro metafunctions created by them, and whether the inner element exists
 or not. In this sense The TTI library macros for introspecting an enclosing type for
-an inner element work very well. But there is one exception to this general case.
+an inner element work well. But there is one exception to this general case.
 That exception is the crux of the discussion regarding nested types which follows.
 
 The metafunctions generated by the TTI macros all work with types, whether in specifying
@@ -35,28 +35,56 @@
 which we know must exist, either because it is a top-level type we know about or
 it is passed to us in some template as a 'class T' or 'typename T', and given an inner type
 named 'InnerType' whose existence we would like ascertain, we can use a `BOOST_TTI_HAS_TYPE(InnerType)` macro and it's related
-`boost::tti::has_type_InnerType` metafunction to determine if the nested type 'InnerType' exists. This solution is perfectly valid
+`has_type_InnerType` metafunction to determine if the nested type 'InnerType' exists. This solution is perfectly valid
 and, with Boost MPL's selection metafunctions, we can do compile-time selection to generate the
 correct template code.
 
-However this does not scale that well syntactically if we need to drill down further from a
-top-level enclosing type to a deeply nested type, or even to look for some deeply nested type's
-inner elements. We are going to be generating a great deal of `boost::mpl::if_` and/or
+However this does not ordinarily scale that well syntactically if we need to drill down further
+from a top-level enclosing type to a deeply nested type, or even to look for some deeply nested
+type's inner elements. We are going to be generating a great deal of `boost::mpl::if_` and/or
 `boost::mpl::eval_if` type selection statements to get to some final condition where we know we
 can generate the compile-time code which we want.
 
-[heading The solution]
+[heading One solution]
 
-The TTI library offers a better solution in the form of constructs which work with
-nested types without producing a compiler error if the nested type does not exist, but still
-are able to do the introspecting for inner elements that our TTI macro metafunctions do.
-
-We have already seen one of those constructs, the macro `BOOST_TTI_MEMBER_TYPE`,
-which generates a metafunction based on the name
-of an inner type. But instead of telling us whether that inner type exists it instead returns
-a typedef 'type' which is that inner type if it exists, else it is an unspecified type if it
+The TTI library offers a solution in the form of a construct which works with a
+nested type without producing a compiler error if the nested type does not exist, but still
+is able to do the introspecting for inner elements that our TTI macro metafunctions do.
+
+This is a metafunction created by the macro [macroref BOOST_TTI_MEMBER_TYPE]. Its general
+explanation is given as:
+
+[table:tbmacronested TTI Nested Type Macro Metafunction
+ [
+ [Inner Element]
+ [Macro]
+ [Template]
+ [Specific Header File]
+ ]
+ [
+ [Type]
+ [
+ [macroref BOOST_TTI_MEMBER_TYPE](name)
+ ]
+ [
+ `member_type_'name'`
+
+ class T = enclosing type
+
+ returns = the type of 'name' if it exists, else an unspecified type, as the typedef 'type'.
+ ]
+ [[headerref boost/tti/member_type.hpp `member_type.hpp`]]
+ ]
+]
+
+Instead of telling us whether an inner type of a particular name exists,
+as the metafunction generated by BOOST_TTI_HAS_TYPE does,
+the BOOST_TTI_MEMBER_TYPE macro generates a metafunction which,
+passed an enclosing type as its single template parameter, returns
+a typedef 'type' which is that inner type if it exists, else it is an unspecified marker 'type' if it
 does not. In this way we have created a metafunction, very similar in functionality to
-boost::mpl::identity, but which still returns some unspecified marker 'type' if our nested type is invalid.
+boost::mpl::identity, but which still returns some unspecified marker 'type' if our nested type
+is invalid.
 
 We can use the functionality of `BOOST_TTI_MEMBER_TYPE` to construct nested types
 for our other macro metafunctions, without having to use the T::InnerType syntax and produce a compiler
@@ -94,13 +122,13 @@
 as specified above by instantiating our macro metafunctions.
 
  typedef typename
- boost::tti::member_type_FindType
+ member_type_FindType
    <
- typename boost::tti::member_type_CType
+ typename member_type_CType
      <
- typename boost::tti::member_type_BType
+ typename member_type_BType
        <
- typename boost::tti::member_type_AType
+ typename member_type_AType
          <
          T
>::type
@@ -110,7 +138,8 @@
   
 We can use the above typedef to pass the type as FindType
 to one of our macro metafunctions. FindType may not actually exist but we will not generate
-a compiler error when we use it.
+a compiler error when we use it, but will only generate, if it does not exist, a failure by having our meteafunction
+return a false value at compile-time.
 
 As one example, let's ask whether FindType has a static member data called MyData of type 'int'. We add:
 
@@ -118,7 +147,7 @@
 
 Next we create our metafunction:
 
- boost::tti::has_static_member_data_MyData
+ has_static_member_data_MyData
    <
    MyFindType,
    int
@@ -138,21 +167,32 @@
 But this fails with a compiler error if there is no such nested type, and
 that is exactly what we do not want in our compile-time metaprogramming code.
 
-We can also directly find out whether the deeply nested type 'FindType'
-actually exists in a similar manner. Our metafunction would be:
+in the above metafunction we are asking whether or not FindType has a static
+member data element called 'MyData', and the result will be 'false' if either
+FindType does not exist or if it does exist but does not have a static member data
+of type 'int' called 'MyData'. In neither situation will we produce a compiler error.
+
+Somewhere else we may also be interested in ascertaining whether the deeply nested type 'FindType'
+actually exists. Our metafunction, using BOOST_TTI_MEMBER_TYPE
+and repeating our macros from above, would be:
+
+ BOOST_TTI_MEMBER_TYPE(FindType)
+ BOOST_TTI_MEMBER_TYPE(AType)
+ BOOST_TTI_MEMBER_TYPE(BType)
+ BOOST_TTI_MEMBER_TYPE(CType)
 
  BOOST_TTI_HAS_TYPE(FindType)
 
- boost::tti::has_type_FindType
+ has_type_FindType
    <
    typename
- boost::tti::member_type_CType
+ member_type_CType
      <
      typename
- boost::tti::member_type_BType
+ member_type_BType
        <
        typename
- boost::tti::member_type_AType
+ member_type_AType
          <
          T
>::type
@@ -160,11 +200,41 @@
>::type
>
   
-Because this duplicates much of our code for the 'MyFindType' typedef to
-create our nested type, we can instead, and much more easily, pass our type 'MyFindType', since we already
-have it in the form of a type,
-to another metafunction called 'boost::tti::valid_member_type', which returns a boolean constant
-which is 'true' if our nested exists or 'false' if it does not.
+But this duplicates much of our code when we generated the 'MyFindType' typedef, so
+it would be much better if we could simply pass our
+'MyFindType' type to some other metafunction which would tell us directly if 'MyFindType'
+actually exists. And so we can ! The TTI library has a named metafunction in the
+'boost::tti' namespace called 'valid_member_type' which takes a type and determines
+if it 'actually exists', returning the compile-time boolean constant called 'value'
+of 'true' if it does or 'false' if it does not. The meaning of 'actually exists',
+as far as 'boost::tti::valid_member_type' is concerned, is that the type does not
+equal the unspecified type which BOOST_TTI_MEMBER_TYPE returns when its nested type
+does not exist, and therefore 'boost::tti::valid_member_type' is meant to be used
+with the return 'type' of BOOST_TTI_MEMBER_TYPE, which is what 'MyFindType' represents.
+
+The general explanation of 'boost::tti::valid_member_type' is given as:
+
+[table:existtbmacronested TTI Nested Type Macro Metafunction Existence
+ [
+ [Inner Element]
+ [Macro]
+ [Template]
+ [Specific Header File]
+ ]
+ [
+ [Type]
+ [None]
+ [
+ [classref boost::tti::valid_member_type]
+
+ class T = a type
+
+ returns = true if the type exists, false if it does not.
+ 'Existence' is determined by whether the type does not equal an unspecified type.
+ ]
+ [[headerref boost/tti/member_type.hpp `member_type.hpp`]]
+ ]
+]
 
 Using this functionality with our 'MyFindType' type above
 we could create the nullary metafunction:
@@ -174,37 +244,28 @@
    MyFindType
>
  
-directly instead of replicating the same functionality with our 'boost::tti::has_type_FindType' metafunction.
+directly instead of replicating the same functionality with our 'boost::tti::has_type_FindType'
+metafunction.
 
-The using of `BOOST_TTI_MEMBER_TYPE` to create a nested type which may or may not exist, and which can
-subsequently be used with our macro metafunctions whenever a nested type is required, without producing
-a compiler error when the type does not actually exist, is the main reason we have separate
-but similar functionality among our macro metafunctions to determine whether a member function or a static member
-function exists within an enclosing type.
-
-In the more general case, when using `BOOST_TTI_HAS_COMP_MEMBER_FUNCTION` and `BOOST_TTI_HAS_COMP_STATIC_MEMBER_FUNCTION`,
-the signature for the member function and the static member function is a composite type. This makes
-for a syntactical notation which is easy to specify, but because of that composite type notation we
-can not use the nested type functionality in `BOOST_TTI_MEMBER_TYPE` very easily. But
-when we use `BOOST_TTI_HAS_MEMBER_FUNCTION` and `BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION`
-the composite types in our signatures are broken down into their individual types so that using
-`BOOST_TTI_MEMBER_TYPE`, if necessary, for any one of the individual types is easy.
+[section:tti_func_sig Nested Types and Function Signatures]
 
-[heading A more elegant solution]
+The strength of `BOOST_TTI_MEMBER_TYPE` to represent a type which may or may not exist, and which
+then can be subsequently used in other macro metafunctions whenever a type is needed as a template
+parameter, without producing a compiler error, should not be underestimated. It is one of the
+reasons why we have two different versions of metafunctions for introspecting a member function or
+static member function of a type.
+
+In the more general case, when using `BOOST_TTI_HAS_MEMBER_FUNCTION_WITH_SIG` and
+`BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION_WITH_SIG`, the signature for the member function and
+the static member function is a composite type. This makes for a syntactical notation
+which is natural to specify, but because of that composite type notation we
+can not use the nested type functionality in `BOOST_TTI_MEMBER_TYPE` very easily.
 
-Although using `BOOST_TTI_MEMBER_TYPE` represents a good solution to creating a nested type
-without the possible compile-time error of the T::InnerType syntax, reaching in to
-specify all those ::type expressions, along with their repeated 'typename',
-does get syntactically tedious.
-
-Because of this the TTI library offers a parallel set of
-metafunctions to the macro metafunctions where the 'types' specified are themselves nullary metafunctions.
-This parallel set of metafunctions, using nullary metafunctions to specify individual types,
-rather than the actual types themselves,
-are called 'nullary type metafunctions'. In this group there is also a nullary metafunction
-paralleling our `BOOST_TTI_MEMBER_TYPE` macro metafunction, and therefore a further construct
-making the specifying of nested types easy and error-free to use.
+But in the more specific case,
+when we use `BOOST_TTI_HAS_MEMBER_FUNCTION` and `BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION`,
+the composite types in our signatures are broken down into their individual types so that using
+`BOOST_TTI_MEMBER_TYPE`, if necessary, for any one of the individual types is easy and natural.
 
-This group of nullary type metafunctions will be fully explained later.
+[endsect]
 
 [endsect]

Modified: trunk/libs/tti/doc/tti_terminology.qbk
==============================================================================
--- trunk/libs/tti/doc/tti_terminology.qbk (original)
+++ trunk/libs/tti/doc/tti_terminology.qbk 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -25,4 +25,10 @@
 Other terminology may be just as valid for the notion of C++ language
 elements within a type, but I have chosen these terms to be consistent.
 
+The term "generated metafunction(s)" refers to macro metafunctions
+which are generated by macros.
+
+The term "named metafunction(s)" refers to the specifically named
+nullary type metafunctions which are in the boost::tti namespace.
+
 [endsect]

Modified: trunk/libs/tti/doc/tti_using_mm.qbk
==============================================================================
--- trunk/libs/tti/doc/tti_using_mm.qbk (original)
+++ trunk/libs/tti/doc/tti_using_mm.qbk 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -131,7 +131,7 @@
 [heading Template with params using variadic macros]
 
 [
-note Include the `tti_vm.hpp` general header file, or the
+note Include the `boost/tti/tti_vm.hpp` general header file, or the
 `vm_template_params.hpp` specific header file,
 when using this macro.
 ]
@@ -177,7 +177,7 @@
 Does T have a member function called 'IntFunction' whose type is
 'int (short)' ?
 
- BOOST_TTI_HAS_COMP_MEMBER_FUNCTION(IntFunction)
+ BOOST_TTI_HAS_MEMBER_FUNCTION_WITH_SIG(IntFunction)
  
  boost::tti::has_comp_member_function_IntFunction
    <
@@ -215,7 +215,7 @@
 Does T have a static member function called 'SIntFunction' whose type
 is 'int (long,double)' ?
 
- BOOST_TTI_HAS_COMP_STATIC_MEMBER_FUNCTION(SIntFunction)
+ BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION_WITH_SIG(SIntFunction)
  
  boost::tti::has_comp_static_member_function_SIntFunction
    <

Modified: trunk/libs/tti/doc/tti_using_ntm.qbk
==============================================================================
--- trunk/libs/tti/doc/tti_using_ntm.qbk (original)
+++ trunk/libs/tti/doc/tti_using_ntm.qbk 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -106,13 +106,13 @@
 to T's reality. This also illustrates using 'boost::tti::mf_member_type'.
 
  BOOST_TTI_MEMBER_TYPE(BType)
- BOOST_TTI_MTFC_MEMBER_TYPE(CType)
+ BOOST_TTI_MEMBER_TYPE(CType)
  BOOST_TTI_MEMBER_TYPE(DType)
  
  typedef
  boost::tti::mf_member_type
    <
- boost::tti::member_type_BType<_>,
+ member_type_BType<_>,
    boost::mpl::identity<T>
>
  BTypeNM;
@@ -120,7 +120,7 @@
  typedef
  boost::tti::mf_member_type
    <
- boost::tti::mtfc_member_type_CType,
+ member_type_CType<_>,
    BTypeNM
>
  CTypeNM;
@@ -128,7 +128,7 @@
  typedef
  boost::tti::mf_member_type
    <
- boost::tti::member_type_DType<_>,
+ member_type_DType<_>,
    CTypeNM
>
  DTypeNM;
@@ -143,7 +143,7 @@
   
  boost::tti::mf_has_type
    <
- boost::tti::has_type_DType<_>,
+ has_type_DType<_>,
    CTypeNM
>
    
@@ -160,13 +160,13 @@
 Does T have a nested typedef called 'ADoubleType'
 within 'BType::CType::DType' whose type is a 'double' ?
 
- BOOST_TTI_MTFC_HAS_TYPE(ADoubleType)
+ BOOST_TTI_HAS_TYPE(ADoubleType)
  
  boost::tti::mf_has_type
    <
- boost::tti::mtfc_has_type_ADoubleType,
+ has_type_ADoubleType<_>,
    DTypeNM,
- boost::mpl::identity<double>
+ double
>
 
 [heading Template]
@@ -174,11 +174,11 @@
 Does T have a nested class template called 'AMemberTemplate'
 within 'BType::CType' whose template parameters are all types ('class' or 'typename') ?
 
- BOOST_TTI_MTFC_HAS_TEMPLATE(AMemberTemplate)
+ BOOST_TTI_HAS_TEMPLATE(AMemberTemplate)
  
  boost::tti::mf_has_template
    <
- boost::tti::mtfc_has_template_AMemberTemplate,
+ has_template_AMemberTemplate<_>,
    CTypeNM
>
 
@@ -191,7 +191,7 @@
  
  boost::tti::mf_has_template_check_params
    <
- boost::tti::has_template_check_params_ManyParameters<_>,
+ has_template_check_params_ManyParameters<_>,
    BTypeNM
>
 
@@ -201,16 +201,16 @@
 within 'BType::CType' whose template parameters are specified exactly ?
 
 [
-note Include the `tti_vm.hpp` general header file, or the
-`vm_template_params.hpp` specific header file,
+note Include the `boost/tti/tti_vm.hpp` general header file, or the
+`boost/tti/vm_has_template_check_params.hpp` specific header file,
 when using this macro.
 ]
 
- BOOST_TTI_VM_MTFC_HAS_TEMPLATE_CHECK_PARAMS(MoreParameters,class,class,int,short,class,template <class,int> class InnerTemplate,class)
+ BOOST_TTI_VM_HAS_TEMPLATE_CHECK_PARAMS(MoreParameters,class,class,int,short,class,template <class,int> class InnerTemplate,class)
  
  boost::tti::mf_has_template_check_params
    <
- boost::tti::mtfc_has_template_check_params_MoreParameters,
+ has_template_check_params_MoreParameters<_>,
    CTypeNM
>
 
@@ -218,11 +218,11 @@
 
 Does T have a member data called 'IntBT' whose type is 'BType' ?
 
- BOOST_TTI_MTFC_HAS_MEMBER_DATA(IntBT)
+ BOOST_TTI_HAS_MEMBER_DATA(IntBT)
  
  boost::tti::mf_has_member_data
    <
- boost::tti::mtfc_has_member_data_IntBT,
+ has_member_data_IntBT<_,_>,
    boost::mpl::identity<T>,
    BTypeNM
>
@@ -236,10 +236,10 @@
  
  boost::tti::mf_has_member_function
    <
- boost::tti::has_member_function_IntFunction<_,_,_,_>,
+ has_member_function_IntFunction<_,_,_,_>,
    DTypeNM,
- boost::mpl::identity<int>,
- boost::mpl::vector<boost::mpl::identity<short> >,
+ int,
+ boost::mpl::vector<short>,
    boost::function_types::const_qualified
>
 
@@ -248,13 +248,13 @@
 Does T have a static member data called 'DSMember'
 within 'BType::CType::DType' whose type is 'short' ?
 
- BOOST_TTI_MTFC_HAS_STATIC_MEMBER_DATA(DSMember)
+ BOOST_TTI_HAS_STATIC_MEMBER_DATA(DSMember)
  
  boost::tti::mf_has_static_member_data
    <
- boost::tti::mtfc_has_static_member_data_DSMember,
+ has_static_member_data_DSMember<_._>,
    DTypeNM,
- boost::mpl::identity<short>
+ short
>
 
 [heading Static member function]
@@ -266,10 +266,10 @@
  
  boost::tti::mf_has_static_member_function
    <
- boost::tti::has_static_member_function_SIntFunction<_,_,_>,
+ has_static_member_function_SIntFunction<_,_,_>,
    DTypeNM,
- boost::mpl::identity<int>,
- boost::mpl::vector<boost::mpl::identity<long>,boost::mpl::identity<double> >
+ int,
+ boost::mpl::vector<long,double>
>
 
 [endsect]

Modified: trunk/libs/tti/test/test_has_mem_data.hpp
==============================================================================
--- trunk/libs/tti/test/test_has_mem_data.hpp (original)
+++ trunk/libs/tti/test/test_has_mem_data.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -8,7 +8,7 @@
 #define TEST_HAS_MEMBER_DATA_HPP
 
 #include "test_structs.hpp"
-#include <boost/tti/mem_data.hpp>
+#include <boost/tti/has_member_data.hpp>
 
 BOOST_TTI_HAS_MEMBER_DATA(AnInt)
 BOOST_TTI_HAS_MEMBER_DATA(aMember)

Modified: trunk/libs/tti/test/test_has_mem_fun.hpp
==============================================================================
--- trunk/libs/tti/test/test_has_mem_fun.hpp (original)
+++ trunk/libs/tti/test/test_has_mem_fun.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -8,7 +8,7 @@
 #define TEST_HAS_MEMBER_FUNCTION_HPP
 
 #include "test_structs.hpp"
-#include <boost/tti/mem_fun.hpp>
+#include <boost/tti/has_member_function.hpp>
 
 BOOST_TTI_HAS_MEMBER_FUNCTION(VoidFunction)
 BOOST_TTI_TRAIT_HAS_MEMBER_FUNCTION(FunctionReturningInt,IntFunction)

Modified: trunk/libs/tti/test/test_has_member.cpp
==============================================================================
--- trunk/libs/tti/test/test_has_member.cpp (original)
+++ trunk/libs/tti/test/test_has_member.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -10,13 +10,13 @@
 int main()
   {
   
- BOOST_TEST(BOOST_TTI_HAS_COMP_MEMBER_FUNCTION_GEN(VoidFunction)<void (AType::*)()>::value);
+ BOOST_TEST(BOOST_TTI_HAS_MEMBER_FUNCTION_WITH_SIG_GEN(VoidFunction)<void (AType::*)()>::value);
   BOOST_TEST(FunctionReturningInt<int (AType::*)()>::value);
   BOOST_TEST(FunctionReturningInt<double (AnotherType::*)(int)>::value);
- BOOST_TEST(BOOST_TTI_HAS_COMP_MEMBER_FUNCTION_GEN(aFunction)<AType (AnotherType::*)(int)>::value);
+ BOOST_TEST(BOOST_TTI_HAS_MEMBER_FUNCTION_WITH_SIG_GEN(aFunction)<AType (AnotherType::*)(int)>::value);
   BOOST_TEST(AnotherIntFunction<int (AnotherType::*)(AType)>::value);
- BOOST_TEST(BOOST_TTI_HAS_COMP_MEMBER_FUNCTION_GEN(sFunction)<AType::AnIntType (AnotherType::*)(int,long,double)>::value);
- BOOST_TEST(!BOOST_TTI_HAS_COMP_MEMBER_FUNCTION_GEN(someFunctionMember)<AType (AnotherType::*)(long,int)>::value);
+ BOOST_TEST(BOOST_TTI_HAS_MEMBER_FUNCTION_WITH_SIG_GEN(sFunction)<AType::AnIntType (AnotherType::*)(int,long,double)>::value);
+ BOOST_TEST(!BOOST_TTI_HAS_MEMBER_FUNCTION_WITH_SIG_GEN(someFunctionMember)<AType (AnotherType::*)(long,int)>::value);
   
   return boost::report_errors();
 

Modified: trunk/libs/tti/test/test_has_member.hpp
==============================================================================
--- trunk/libs/tti/test/test_has_member.hpp (original)
+++ trunk/libs/tti/test/test_has_member.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -8,13 +8,13 @@
 #define TEST_HAS_MEMBER_HPP
 
 #include "test_structs.hpp"
-#include <boost/tti/comp_mem_fun.hpp>
+#include <boost/tti/has_member_function_with_sig.hpp>
 
-BOOST_TTI_HAS_COMP_MEMBER_FUNCTION(VoidFunction)
-BOOST_TTI_TRAIT_HAS_COMP_MEMBER_FUNCTION(FunctionReturningInt,IntFunction)
-BOOST_TTI_HAS_COMP_MEMBER_FUNCTION(aFunction)
-BOOST_TTI_TRAIT_HAS_COMP_MEMBER_FUNCTION(AnotherIntFunction,anotherFunction)
-BOOST_TTI_HAS_COMP_MEMBER_FUNCTION(sFunction)
-BOOST_TTI_HAS_COMP_MEMBER_FUNCTION(someFunctionMember)
+BOOST_TTI_HAS_MEMBER_FUNCTION_WITH_SIG(VoidFunction)
+BOOST_TTI_TRAIT_HAS_MEMBER_FUNCTION_WITH_SIG(FunctionReturningInt,IntFunction)
+BOOST_TTI_HAS_MEMBER_FUNCTION_WITH_SIG(aFunction)
+BOOST_TTI_TRAIT_HAS_MEMBER_FUNCTION_WITH_SIG(AnotherIntFunction,anotherFunction)
+BOOST_TTI_HAS_MEMBER_FUNCTION_WITH_SIG(sFunction)
+BOOST_TTI_HAS_MEMBER_FUNCTION_WITH_SIG(someFunctionMember)
 
 #endif // TEST_HAS_MEMBER_HPP

Modified: trunk/libs/tti/test/test_has_member_compile.cpp
==============================================================================
--- trunk/libs/tti/test/test_has_member_compile.cpp (original)
+++ trunk/libs/tti/test/test_has_member_compile.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -12,16 +12,16 @@
   
   // You can always instantiate without compiler errors
   
- BOOST_TTI_HAS_COMP_MEMBER_FUNCTION_GEN(someFunctionMember)<double (AnotherType::*)(short,short,long,int)> aVar3;
+ BOOST_TTI_HAS_MEMBER_FUNCTION_WITH_SIG_GEN(someFunctionMember)<double (AnotherType::*)(short,short,long,int)> aVar3;
   
   // Compile time asserts
   
- BOOST_MPL_ASSERT((BOOST_TTI_HAS_COMP_MEMBER_FUNCTION_GEN(VoidFunction)<void (AType::*)()>));
+ BOOST_MPL_ASSERT((BOOST_TTI_HAS_MEMBER_FUNCTION_WITH_SIG_GEN(VoidFunction)<void (AType::*)()>));
   BOOST_MPL_ASSERT((FunctionReturningInt<int (AType::*)()>));
   BOOST_MPL_ASSERT((FunctionReturningInt<double (AnotherType::*)(int)>));
- BOOST_MPL_ASSERT((BOOST_TTI_HAS_COMP_MEMBER_FUNCTION_GEN(aFunction)<AType (AnotherType::*)(int)>));
+ BOOST_MPL_ASSERT((BOOST_TTI_HAS_MEMBER_FUNCTION_WITH_SIG_GEN(aFunction)<AType (AnotherType::*)(int)>));
   BOOST_MPL_ASSERT((AnotherIntFunction<int (AnotherType::*)(AType)>));
- BOOST_MPL_ASSERT((BOOST_TTI_HAS_COMP_MEMBER_FUNCTION_GEN(sFunction)<AType::AnIntType (AnotherType::*)(int,long,double)>));
+ BOOST_MPL_ASSERT((BOOST_TTI_HAS_MEMBER_FUNCTION_WITH_SIG_GEN(sFunction)<AType::AnIntType (AnotherType::*)(int,long,double)>));
   
   return 0;
 

Modified: trunk/libs/tti/test/test_has_member_fail.cpp
==============================================================================
--- trunk/libs/tti/test/test_has_member_fail.cpp (original)
+++ trunk/libs/tti/test/test_has_member_fail.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -12,7 +12,7 @@
   
   // Wrong function signature for sFunction
   
- BOOST_MPL_ASSERT(( BOOST_TTI_HAS_COMP_MEMBER_FUNCTION_GEN(sFunction)<AType::AnIntType (AnotherType::*)(short,long,double)> ));
+ BOOST_MPL_ASSERT(( BOOST_TTI_HAS_MEMBER_FUNCTION_WITH_SIG_GEN(sFunction)<AType::AnIntType (AnotherType::*)(short,long,double)> ));
   
   return 0;
 

Modified: trunk/libs/tti/test/test_has_member_fail2.cpp
==============================================================================
--- trunk/libs/tti/test/test_has_member_fail2.cpp (original)
+++ trunk/libs/tti/test/test_has_member_fail2.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -11,7 +11,7 @@
   
   // Function signature has type which does not exist
   
- BOOST_TTI_HAS_COMP_MEMBER_FUNCTION_GEN(sFunction)<AType::AnIntType (NVType::*)(short,long,double)> aVar;
+ BOOST_TTI_HAS_MEMBER_FUNCTION_WITH_SIG_GEN(sFunction)<AType::AnIntType (NVType::*)(short,long,double)> aVar;
   
   return 0;
 

Modified: trunk/libs/tti/test/test_has_static_mem_data.hpp
==============================================================================
--- trunk/libs/tti/test/test_has_static_mem_data.hpp (original)
+++ trunk/libs/tti/test/test_has_static_mem_data.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -8,7 +8,7 @@
 #define TEST_HAS_STATIC_MEMBER_DATA_HPP
 
 #include "test_structs.hpp"
-#include <boost/tti/static_mem_data.hpp>
+#include <boost/tti/has_static_member_data.hpp>
 
 BOOST_TTI_HAS_STATIC_MEMBER_DATA(DSMember)
 BOOST_TTI_TRAIT_HAS_STATIC_MEMBER_DATA(StatName,AnStat)

Modified: trunk/libs/tti/test/test_has_static_mem_fun.hpp
==============================================================================
--- trunk/libs/tti/test/test_has_static_mem_fun.hpp (original)
+++ trunk/libs/tti/test/test_has_static_mem_fun.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -8,7 +8,7 @@
 #define TEST_HAS_STATIC_MEMBER_FUNCTION_HPP
 
 #include "test_structs.hpp"
-#include <boost/tti/static_mem_fun.hpp>
+#include <boost/tti/has_static_member_function.hpp>
 
 BOOST_TTI_TRAIT_HAS_STATIC_MEMBER_FUNCTION(HaveTheSIntFunction,SIntFunction)
 BOOST_TTI_TRAIT_HAS_STATIC_MEMBER_FUNCTION(TheTIntFunction,TIntFunction)

Modified: trunk/libs/tti/test/test_has_static_member.cpp
==============================================================================
--- trunk/libs/tti/test/test_has_static_member.cpp (original)
+++ trunk/libs/tti/test/test_has_static_member.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -13,7 +13,7 @@
   BOOST_TEST((HaveTheSIntFunction<AType,int (long,double)>::value));
   BOOST_TEST((!TheTIntFunction<AType,AType (long,double)>::value));
   BOOST_TEST((TheTIntFunction<AnotherType,AType (long,double)>::value));
- BOOST_TEST((BOOST_TTI_HAS_COMP_STATIC_MEMBER_FUNCTION_GEN(TSFunction)<AnotherType,AType::AStructType (AType::AnIntType,double)>::value));
+ BOOST_TEST((BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION_WITH_SIG_GEN(TSFunction)<AnotherType,AType::AStructType (AType::AnIntType,double)>::value));
   BOOST_TEST((!Pickedname<AnotherType,void ()>::value));
   
   return boost::report_errors();

Modified: trunk/libs/tti/test/test_has_static_member.hpp
==============================================================================
--- trunk/libs/tti/test/test_has_static_member.hpp (original)
+++ trunk/libs/tti/test/test_has_static_member.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -8,11 +8,11 @@
 #define TEST_HAS_STATIC_MEMBER_HPP
 
 #include "test_structs.hpp"
-#include <boost/tti/comp_static_mem_fun.hpp>
+#include <boost/tti/has_static_member_function_with_sig.hpp>
 
-BOOST_TTI_TRAIT_HAS_COMP_STATIC_MEMBER_FUNCTION(HaveTheSIntFunction,SIntFunction)
-BOOST_TTI_TRAIT_HAS_COMP_STATIC_MEMBER_FUNCTION(TheTIntFunction,TIntFunction)
-BOOST_TTI_HAS_COMP_STATIC_MEMBER_FUNCTION(TSFunction)
-BOOST_TTI_TRAIT_HAS_COMP_STATIC_MEMBER_FUNCTION(Pickedname,SomeStaticFunction)
+BOOST_TTI_TRAIT_HAS_STATIC_MEMBER_FUNCTION_WITH_SIG(HaveTheSIntFunction,SIntFunction)
+BOOST_TTI_TRAIT_HAS_STATIC_MEMBER_FUNCTION_WITH_SIG(TheTIntFunction,TIntFunction)
+BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION_WITH_SIG(TSFunction)
+BOOST_TTI_TRAIT_HAS_STATIC_MEMBER_FUNCTION_WITH_SIG(Pickedname,SomeStaticFunction)
 
 #endif // TEST_HAS_STATIC_MEMBER_HPP

Modified: trunk/libs/tti/test/test_has_static_member_compile.cpp
==============================================================================
--- trunk/libs/tti/test/test_has_static_member_compile.cpp (original)
+++ trunk/libs/tti/test/test_has_static_member_compile.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -19,7 +19,7 @@
   
   BOOST_MPL_ASSERT((HaveTheSIntFunction<AType,int (long,double)>));
   BOOST_MPL_ASSERT((TheTIntFunction<AnotherType,AType (long,double)>));
- BOOST_MPL_ASSERT((BOOST_TTI_HAS_COMP_STATIC_MEMBER_FUNCTION_GEN(TSFunction)<AnotherType,AType::AStructType (AType::AnIntType,double)>));
+ BOOST_MPL_ASSERT((BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION_WITH_SIG_GEN(TSFunction)<AnotherType,AType::AStructType (AType::AnIntType,double)>));
   
   return 0;
 

Modified: trunk/libs/tti/test/test_has_static_member_fail2.cpp
==============================================================================
--- trunk/libs/tti/test/test_has_static_member_fail2.cpp (original)
+++ trunk/libs/tti/test/test_has_static_member_fail2.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -11,7 +11,7 @@
   
   // Function signature has type which does not exist
   
- BOOST_TTI_HAS_COMP_STATIC_MEMBER_FUNCTION_GEN(TSFunction)<AnotherType,AType::AClassType (AType::AnIntType,double)> aVar;
+ BOOST_TTI_HAS_STATIC_MEMBER_FUNCTION_WITH_SIG_GEN(TSFunction)<AnotherType,AType::AClassType (AType::AnIntType,double)> aVar;
   
   return 0;
 

Modified: trunk/libs/tti/test/test_has_template.hpp
==============================================================================
--- trunk/libs/tti/test/test_has_template.hpp (original)
+++ trunk/libs/tti/test/test_has_template.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -8,7 +8,7 @@
 #define TEST_HAS_TEMPLATE_HPP
 
 #include "test_structs.hpp"
-#include <boost/tti/template.hpp>
+#include <boost/tti/has_template.hpp>
 
 BOOST_TTI_HAS_TEMPLATE(ATPMemberTemplate)
 BOOST_TTI_TRAIT_HAS_TEMPLATE(HaveCL,CLMemberTemplate)

Modified: trunk/libs/tti/test/test_has_template_cp.hpp
==============================================================================
--- trunk/libs/tti/test/test_has_template_cp.hpp (original)
+++ trunk/libs/tti/test/test_has_template_cp.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -8,7 +8,7 @@
 #define TEST_HAS_TEMPLATE_CHECK_PARAMS_HPP
 
 #include "test_structs.hpp"
-#include <boost/tti/template_params.hpp>
+#include <boost/tti/has_template_check_params.hpp>
 
 BOOST_TTI_HAS_TEMPLATE_CHECK_PARAMS(ATPMemberTemplate,(class))
 BOOST_TTI_TRAIT_HAS_TEMPLATE_CHECK_PARAMS(HaveCL,CLMemberTemplate,(class)(class))

Modified: trunk/libs/tti/test/test_has_type.hpp
==============================================================================
--- trunk/libs/tti/test/test_has_type.hpp (original)
+++ trunk/libs/tti/test/test_has_type.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -8,7 +8,7 @@
 #define TEST_HAS_TYPE_HPP
 
 #include "test_structs.hpp"
-#include <boost/tti/type.hpp>
+#include <boost/tti/has_type.hpp>
 
 BOOST_TTI_HAS_TYPE(AnIntType)
 BOOST_TTI_TRAIT_HAS_TYPE(NameStruct,AStructType)

Modified: trunk/libs/tti/test/test_has_type_ct.hpp
==============================================================================
--- trunk/libs/tti/test/test_has_type_ct.hpp (original)
+++ trunk/libs/tti/test/test_has_type_ct.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -8,7 +8,7 @@
 #define TEST_HAS_TYPE_CHECK_TYPEDEF_HPP
 
 #include "test_structs.hpp"
-#include <boost/tti/type.hpp>
+#include <boost/tti/has_type.hpp>
 
 BOOST_TTI_HAS_TYPE(AnIntType)
 BOOST_TTI_TRAIT_HAS_TYPE(NameStruct,AStructType)

Modified: trunk/libs/tti/test/test_mem_type.hpp
==============================================================================
--- trunk/libs/tti/test/test_mem_type.hpp (original)
+++ trunk/libs/tti/test/test_mem_type.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -8,7 +8,7 @@
 #define TEST_MEMBER_TYPE_HPP
 
 #include "test_structs.hpp"
-#include <boost/tti/mem_type.hpp>
+#include <boost/tti/member_type.hpp>
 
 BOOST_TTI_MEMBER_TYPE(AnIntType)
 BOOST_TTI_TRAIT_MEMBER_TYPE(NameStruct,AStructType)

Modified: trunk/libs/tti/test/test_mf_has_mem_data.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_mem_data.cpp (original)
+++ trunk/libs/tti/test/test_mf_has_mem_data.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -6,7 +6,6 @@
 
 #include "test_mf_has_mem_data.hpp"
 #include <boost/detail/lightweight_test.hpp>
-#include <boost/mpl/quote.hpp>
 
 int main()
   {
@@ -17,7 +16,7 @@
                 <
                 BOOST_TTI_HAS_MEMBER_DATA_GEN(AnInt)<_,_>,
                 boost::mpl::identity<AType>,
- boost::mpl::identity<int>
+ int
>
               ::value
             ));
@@ -26,7 +25,7 @@
                 <
                 BOOST_TTI_HAS_MEMBER_DATA_GEN(AnInt)<_,_>,
                 boost::mpl::identity<AnotherType>,
- boost::mpl::identity<long>
+ long
>
               ::value
             ));
@@ -35,7 +34,7 @@
                 <
                 BOOST_TTI_HAS_MEMBER_DATA_GEN(aMember)<_,_>,
                 boost::mpl::identity<AnotherType>,
- boost::mpl::identity<bool>
+ bool
>
               ::value
             ));
@@ -44,7 +43,7 @@
                 <
                 CMember<_,_>,
                 boost::mpl::identity<AnotherType>,
- boost::mpl::identity<bool>
+ bool
>
               ::value
             ));
@@ -93,7 +92,7 @@
                 <
                 boost::mpl::quote2<BOOST_TTI_HAS_MEMBER_DATA_GEN(AnInt)>,
                 boost::mpl::identity<AType>,
- boost::mpl::identity<int>
+ int
>
               ::value
             ));
@@ -102,7 +101,7 @@
                 <
                 boost::mpl::quote2<BOOST_TTI_HAS_MEMBER_DATA_GEN(AnInt)>,
                 boost::mpl::identity<AnotherType>,
- boost::mpl::identity<long>
+ long
>
               ::value
             ));
@@ -111,7 +110,7 @@
                 <
                 boost::mpl::quote2<BOOST_TTI_HAS_MEMBER_DATA_GEN(aMember)>,
                 boost::mpl::identity<AnotherType>,
- boost::mpl::identity<bool>
+ bool
>
               ::value
             ));
@@ -120,7 +119,7 @@
                 <
                 boost::mpl::quote2<CMember>,
                 boost::mpl::identity<AnotherType>,
- boost::mpl::identity<bool>
+ bool
>
               ::value
             ));

Modified: trunk/libs/tti/test/test_mf_has_mem_data.hpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_mem_data.hpp (original)
+++ trunk/libs/tti/test/test_mf_has_mem_data.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -8,8 +8,8 @@
 #define TEST_MF_HAS_MEMBER_DATA_HPP
 
 #include "test_structs.hpp"
-#include <boost/tti/mem_data.hpp>
-#include <boost/tti/mem_type.hpp>
+#include <boost/tti/has_member_data.hpp>
+#include <boost/tti/member_type.hpp>
 
 BOOST_TTI_HAS_MEMBER_DATA(AnInt)
 BOOST_TTI_HAS_MEMBER_DATA(aMember)

Modified: trunk/libs/tti/test/test_mf_has_mem_data_compile.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_mem_data_compile.cpp (original)
+++ trunk/libs/tti/test/test_mf_has_mem_data_compile.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -6,7 +6,6 @@
 
 #include "test_mf_has_mem_data.hpp"
 #include <boost/mpl/assert.hpp>
-#include <boost/mpl/quote.hpp>
 
 int main()
   {
@@ -17,7 +16,7 @@
                       <
                       BOOST_TTI_HAS_MEMBER_DATA_GEN(AnInt)<_,_>,
                       boost::mpl::identity<AType>,
- boost::mpl::identity<int>
+ int
>
                   ));
                   
@@ -25,7 +24,7 @@
                       <
                       BOOST_TTI_HAS_MEMBER_DATA_GEN(AnInt)<_,_>,
                       boost::mpl::identity<AnotherType>,
- boost::mpl::identity<long>
+ long
>
                   ));
                   
@@ -33,7 +32,7 @@
                       <
                       BOOST_TTI_HAS_MEMBER_DATA_GEN(aMember)<_,_>,
                       boost::mpl::identity<AnotherType>,
- boost::mpl::identity<bool>
+ bool
>
                   ));
                   
@@ -41,7 +40,7 @@
                       <
                       CMember<_,_>,
                       boost::mpl::identity<AnotherType>,
- boost::mpl::identity<bool>
+ bool
>
                   ));
   
@@ -85,7 +84,7 @@
                       <
                       boost::mpl::quote2<BOOST_TTI_HAS_MEMBER_DATA_GEN(AnInt)>,
                       boost::mpl::identity<AType>,
- boost::mpl::identity<int>
+ int
>
                   ));
             
@@ -93,7 +92,7 @@
                       <
                       boost::mpl::quote2<BOOST_TTI_HAS_MEMBER_DATA_GEN(AnInt)>,
                       boost::mpl::identity<AnotherType>,
- boost::mpl::identity<long>
+ long
>
                   ));
             
@@ -101,7 +100,7 @@
                       <
                       boost::mpl::quote2<BOOST_TTI_HAS_MEMBER_DATA_GEN(aMember)>,
                       boost::mpl::identity<AnotherType>,
- boost::mpl::identity<bool>
+ bool
>
                   ));
             
@@ -109,7 +108,7 @@
                       <
                       boost::mpl::quote2<CMember>,
                       boost::mpl::identity<AnotherType>,
- boost::mpl::identity<bool>
+ bool
>
                   ));
   

Modified: trunk/libs/tti/test/test_mf_has_mem_data_fail.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_mem_data_fail.cpp (original)
+++ trunk/libs/tti/test/test_mf_has_mem_data_fail.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -18,7 +18,7 @@
                       <
                       BOOST_TTI_HAS_MEMBER_DATA_GEN(someDataMember)<_,_>,
                       boost::mpl::identity<AnotherType>,
- boost::mpl::identity<short>
+ short
>
                   ));
   

Modified: trunk/libs/tti/test/test_mf_has_mem_data_fail2.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_mem_data_fail2.cpp (original)
+++ trunk/libs/tti/test/test_mf_has_mem_data_fail2.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -18,7 +18,7 @@
                       <
                       BOOST_TTI_HAS_MEMBER_DATA_GEN(AnInt)<_,_>,
                       boost::mpl::identity<AnotherType>,
- boost::mpl::identity<double>
+ double
>
                   ));
   

Modified: trunk/libs/tti/test/test_mf_has_mem_data_fail3.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_mem_data_fail3.cpp (original)
+++ trunk/libs/tti/test/test_mf_has_mem_data_fail3.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -18,7 +18,7 @@
                       <
                       BOOST_TTI_HAS_MEMBER_DATA_GEN(aMember)<_,_>,
                       boost::mpl::identity<AType>,
- boost::mpl::identity<bool>
+ bool
>
                   ));
   

Modified: trunk/libs/tti/test/test_mf_has_mem_fun.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_mem_fun.cpp (original)
+++ trunk/libs/tti/test/test_mf_has_mem_fun.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -6,7 +6,6 @@
 
 #include "test_mf_has_mem_fun.hpp"
 #include <boost/detail/lightweight_test.hpp>
-#include <boost/mpl/quote.hpp>
 
 int main()
   {
@@ -17,7 +16,7 @@
                 <
                 BOOST_TTI_HAS_MEMBER_FUNCTION_GEN(VoidFunction)<_,_>,
                 boost::mpl::identity<AType>,
- boost::mpl::identity<void>
+ void
>
               ::value
             ));
@@ -26,7 +25,7 @@
                 <
                 FunctionReturningInt<_,_>,
                 boost::mpl::identity<AType>,
- boost::mpl::identity<int>
+ int
>
               ::value
             ));
@@ -35,8 +34,8 @@
                 <
                 FunctionReturningInt<_,_,_>,
                 boost::mpl::identity<AnotherType>,
- boost::mpl::identity<double>,
- boost::mpl::vector<boost::mpl::identity<int> >
+ double,
+ boost::mpl::vector<int>
>
               ::value
             ));
@@ -46,7 +45,7 @@
                 BOOST_TTI_HAS_MEMBER_FUNCTION_GEN(aFunction)<_,_,_>,
                 boost::mpl::identity<AnotherType>,
                 boost::mpl::identity<AType>,
- boost::mpl::vector<boost::mpl::identity<int> >
+ boost::mpl::vector<int>
>
               ::value
             ));
@@ -55,7 +54,7 @@
                 <
                 AnotherIntFunction<_,_,_>,
                 boost::mpl::identity<AnotherType>,
- boost::mpl::identity<int>,
+ int,
                 boost::mpl::vector<boost::mpl::identity<AType> >
>
               ::value
@@ -68,9 +67,9 @@
                 BOOST_TTI_MEMBER_TYPE_GEN(AnIntType)<AType>,
                 boost::mpl::vector
                   <
- boost::mpl::identity<int>,
- boost::mpl::identity<long>,
- boost::mpl::identity<double>
+ int,
+ long,
+ double
>
>
               ::value
@@ -80,7 +79,7 @@
                 <
                 boost::mpl::quote4<BOOST_TTI_HAS_MEMBER_FUNCTION_GEN(VoidFunction)>,
                 boost::mpl::identity<AType>,
- boost::mpl::identity<void>
+ void
>
               ::value
             ));
@@ -89,7 +88,7 @@
                 <
                 boost::mpl::quote4<FunctionReturningInt>,
                 boost::mpl::identity<AType>,
- boost::mpl::identity<int>
+ int
>
               ::value
             ));
@@ -98,8 +97,8 @@
                 <
                 boost::mpl::quote4<FunctionReturningInt>,
                 boost::mpl::identity<AnotherType>,
- boost::mpl::identity<double>,
- boost::mpl::vector<boost::mpl::identity<int> >
+ double,
+ boost::mpl::vector<int>
>
               ::value
             ));
@@ -109,7 +108,7 @@
                 boost::mpl::quote4<BOOST_TTI_HAS_MEMBER_FUNCTION_GEN(aFunction)>,
                 boost::mpl::identity<AnotherType>,
                 boost::mpl::identity<AType>,
- boost::mpl::vector<boost::mpl::identity<int> >
+ boost::mpl::vector<int>
>
               ::value
             ));
@@ -118,7 +117,7 @@
                 <
                 boost::mpl::quote4<AnotherIntFunction>,
                 boost::mpl::identity<AnotherType>,
- boost::mpl::identity<int>,
+ int,
                 boost::mpl::vector<boost::mpl::identity<AType> >
>
               ::value
@@ -131,9 +130,9 @@
                 BOOST_TTI_MEMBER_TYPE_GEN(AnIntType)<AType>,
                 boost::mpl::vector
                   <
- boost::mpl::identity<int>,
- boost::mpl::identity<long>,
- boost::mpl::identity<double>
+ int,
+ long,
+ double
>
>
               ::value

Modified: trunk/libs/tti/test/test_mf_has_mem_fun.hpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_mem_fun.hpp (original)
+++ trunk/libs/tti/test/test_mf_has_mem_fun.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -8,8 +8,8 @@
 #define TEST_MF_HAS_MEMBER_FUNCTION_HPP
 
 #include "test_structs.hpp"
-#include <boost/tti/mem_fun.hpp>
-#include <boost/tti/mem_type.hpp>
+#include <boost/tti/has_member_function.hpp>
+#include <boost/tti/member_type.hpp>
 
 BOOST_TTI_HAS_MEMBER_FUNCTION(VoidFunction)
 BOOST_TTI_TRAIT_HAS_MEMBER_FUNCTION(FunctionReturningInt,IntFunction)

Modified: trunk/libs/tti/test/test_mf_has_mem_fun_compile.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_mem_fun_compile.cpp (original)
+++ trunk/libs/tti/test/test_mf_has_mem_fun_compile.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -6,7 +6,6 @@
 
 #include "test_mf_has_mem_fun.hpp"
 #include <boost/mpl/assert.hpp>
-#include <boost/mpl/quote.hpp>
 
 int main()
   {
@@ -19,7 +18,7 @@
     <
     FunctionReturningInt<_,_>,
     boost::mpl::identity<AnotherType>,
- boost::mpl::identity<short>
+ short
> aVar;
   
   boost::tti::mf_has_member_function
@@ -29,9 +28,9 @@
     BOOST_TTI_MEMBER_TYPE_GEN(AnIntType)<AnotherType>,
     boost::mpl::vector
       <
- boost::mpl::identity<int>,
- boost::mpl::identity<long>,
- boost::mpl::identity<double>
+ int,
+ long,
+ double
>
> aVar2;
                       
@@ -39,12 +38,12 @@
     <
     BOOST_TTI_HAS_MEMBER_FUNCTION_GEN(someFunctionMember)<_,_,_>,
     boost::mpl::identity<AnotherType>,
- boost::mpl::identity<short>,
+ short,
     boost::mpl::vector
       <
- boost::mpl::identity<double>,
- boost::mpl::identity<int>,
- boost::mpl::identity<long>
+ double,
+ int,
+ long
>
> aVar3;
     
@@ -54,7 +53,7 @@
                       <
                       BOOST_TTI_HAS_MEMBER_FUNCTION_GEN(VoidFunction)<_,_>,
                       boost::mpl::identity<AType>,
- boost::mpl::identity<void>
+ void
>
                   ));
   
@@ -62,7 +61,7 @@
                       <
                       FunctionReturningInt<_,_>,
                       boost::mpl::identity<AType>,
- boost::mpl::identity<int>
+ int
>
                   ));
   
@@ -70,8 +69,8 @@
                       <
                       FunctionReturningInt<_,_,_>,
                       boost::mpl::identity<AnotherType>,
- boost::mpl::identity<double>,
- boost::mpl::vector<boost::mpl::identity<int> >
+ double,
+ boost::mpl::vector<int>
>
                   ));
                   
@@ -80,7 +79,7 @@
                       BOOST_TTI_HAS_MEMBER_FUNCTION_GEN(aFunction)<_,_,_>,
                       boost::mpl::identity<AnotherType>,
                       boost::mpl::identity<AType>,
- boost::mpl::vector<boost::mpl::identity<int> >
+ boost::mpl::vector<int>
>
                   ));
   
@@ -88,7 +87,7 @@
                       <
                       AnotherIntFunction<_,_,_>,
                       boost::mpl::identity<AnotherType>,
- boost::mpl::identity<int>,
+ int,
                       boost::mpl::vector<boost::mpl::identity<AType> >
>
                   ));
@@ -100,9 +99,9 @@
                       BOOST_TTI_MEMBER_TYPE_GEN(AnIntType)<AType>,
                       boost::mpl::vector
                         <
- boost::mpl::identity<int>,
- boost::mpl::identity<long>,
- boost::mpl::identity<double>
+ int,
+ long,
+ double
>
>
                   ));
@@ -111,7 +110,7 @@
                       <
                       boost::mpl::quote4<BOOST_TTI_HAS_MEMBER_FUNCTION_GEN(VoidFunction)>,
                       boost::mpl::identity<AType>,
- boost::mpl::identity<void>
+ void
>
                   ));
   
@@ -119,7 +118,7 @@
                       <
                       boost::mpl::quote4<FunctionReturningInt>,
                       boost::mpl::identity<AType>,
- boost::mpl::identity<int>
+ int
>
                   ));
   
@@ -127,8 +126,8 @@
                       <
                       boost::mpl::quote4<FunctionReturningInt>,
                       boost::mpl::identity<AnotherType>,
- boost::mpl::identity<double>,
- boost::mpl::vector<boost::mpl::identity<int> >
+ double,
+ boost::mpl::vector<int>
>
                   ));
   
@@ -137,7 +136,7 @@
                       boost::mpl::quote4<BOOST_TTI_HAS_MEMBER_FUNCTION_GEN(aFunction)>,
                       boost::mpl::identity<AnotherType>,
                       boost::mpl::identity<AType>,
- boost::mpl::vector<boost::mpl::identity<int> >
+ boost::mpl::vector<int>
>
                   ));
   
@@ -145,7 +144,7 @@
                       <
                       boost::mpl::quote4<AnotherIntFunction>,
                       boost::mpl::identity<AnotherType>,
- boost::mpl::identity<int>,
+ int,
                       boost::mpl::vector<boost::mpl::identity<AType> >
>
                   ));
@@ -157,9 +156,9 @@
                       BOOST_TTI_MEMBER_TYPE_GEN(AnIntType)<AType>,
                       boost::mpl::vector
                         <
- boost::mpl::identity<int>,
- boost::mpl::identity<long>,
- boost::mpl::identity<double>
+ int,
+ long,
+ double
>
>
                   ));

Modified: trunk/libs/tti/test/test_mf_has_mem_fun_fail.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_mem_fun_fail.cpp (original)
+++ trunk/libs/tti/test/test_mf_has_mem_fun_fail.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -18,12 +18,12 @@
                       <
                       BOOST_TTI_HAS_MEMBER_FUNCTION_GEN(someFunctionMember)<_,_,_>,
                       boost::mpl::identity<AnotherType>,
- boost::mpl::identity<short>,
+ short,
                       boost::mpl::vector
                         <
- boost::mpl::identity<double>,
- boost::mpl::identity<int>,
- boost::mpl::identity<long>
+ double,
+ int,
+ long
>
>
                   ));

Modified: trunk/libs/tti/test/test_mf_has_mem_fun_fail2.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_mem_fun_fail2.cpp (original)
+++ trunk/libs/tti/test/test_mf_has_mem_fun_fail2.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -18,7 +18,7 @@
                       <
                       FunctionReturningInt<_,_>,
                       boost::mpl::identity<AnotherType>,
- boost::mpl::identity<short>
+ short
>
                   ));
   

Modified: trunk/libs/tti/test/test_mf_has_mem_fun_fail3.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_mem_fun_fail3.cpp (original)
+++ trunk/libs/tti/test/test_mf_has_mem_fun_fail3.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -21,9 +21,9 @@
                       BOOST_TTI_MEMBER_TYPE_GEN(AnIntType)<AnotherType>,
                       boost::mpl::vector
                         <
- boost::mpl::identity<int>,
- boost::mpl::identity<long>,
- boost::mpl::identity<double>
+ int,
+ long,
+ double
>
>
                   ));

Modified: trunk/libs/tti/test/test_mf_has_static_data.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_static_data.cpp (original)
+++ trunk/libs/tti/test/test_mf_has_static_data.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -6,7 +6,6 @@
 
 #include "test_mf_has_static_data.hpp"
 #include <boost/detail/lightweight_test.hpp>
-#include <boost/mpl/quote.hpp>
 
 int main()
   {
@@ -17,7 +16,7 @@
                 <
                 BOOST_TTI_HAS_STATIC_MEMBER_DATA_GEN(DSMember)<_,_>,
                 boost::mpl::identity<AType>,
- boost::mpl::identity<short>
+ short
>
               ::value
             ));
@@ -26,7 +25,7 @@
                 <
                 boost::mpl::quote2<BOOST_TTI_HAS_STATIC_MEMBER_DATA_GEN(DSMember)>,
                 boost::mpl::identity<AType>,
- boost::mpl::identity<short>
+ short
>
               ::value
             ));

Modified: trunk/libs/tti/test/test_mf_has_static_data.hpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_static_data.hpp (original)
+++ trunk/libs/tti/test/test_mf_has_static_data.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -8,7 +8,7 @@
 #define TEST_MF_HAS_STATIC_DATA_HPP
 
 #include "test_structs.hpp"
-#include <boost/tti/static_mem_data.hpp>
+#include <boost/tti/has_static_member_data.hpp>
 
 BOOST_TTI_HAS_STATIC_MEMBER_DATA(DSMember)
 BOOST_TTI_HAS_STATIC_MEMBER_DATA(SomeStaticData)

Modified: trunk/libs/tti/test/test_mf_has_static_data_compile.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_static_data_compile.cpp (original)
+++ trunk/libs/tti/test/test_mf_has_static_data_compile.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -6,7 +6,6 @@
 
 #include "test_mf_has_static_data.hpp"
 #include <boost/mpl/assert.hpp>
-#include <boost/mpl/quote.hpp>
 
 int main()
   {
@@ -19,7 +18,7 @@
     <
     BOOST_TTI_HAS_STATIC_MEMBER_DATA_GEN(SomeStaticData)<_,_>,
     boost::mpl::identity<AnotherType>,
- boost::mpl::identity<double>
+ double
> aVar;
   
   // Compile time asserts
@@ -28,7 +27,7 @@
                       <
                       BOOST_TTI_HAS_STATIC_MEMBER_DATA_GEN(DSMember)<_,_>,
                       boost::mpl::identity<AType>,
- boost::mpl::identity<short>
+ short
>
                   ));
   
@@ -36,7 +35,7 @@
                       <
                       boost::mpl::quote2<BOOST_TTI_HAS_STATIC_MEMBER_DATA_GEN(DSMember)>,
                       boost::mpl::identity<AType>,
- boost::mpl::identity<short>
+ short
>
                   ));
   

Modified: trunk/libs/tti/test/test_mf_has_static_data_fail.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_static_data_fail.cpp (original)
+++ trunk/libs/tti/test/test_mf_has_static_data_fail.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -18,7 +18,7 @@
                       <
                       BOOST_TTI_HAS_STATIC_MEMBER_DATA_GEN(SomeStaticData)<_,_>,
                       boost::mpl::identity<AnotherType>,
- boost::mpl::identity<int>
+ int
>
                   ));
   

Modified: trunk/libs/tti/test/test_mf_has_static_data_fail2.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_static_data_fail2.cpp (original)
+++ trunk/libs/tti/test/test_mf_has_static_data_fail2.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -18,7 +18,7 @@
                       <
                       BOOST_TTI_HAS_STATIC_MEMBER_DATA_GEN(DSMember)<_,_>,
                       boost::mpl::identity<AnotherType>,
- boost::mpl::identity<short>
+ short
>
                   ));
   

Modified: trunk/libs/tti/test/test_mf_has_static_data_fail3.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_static_data_fail3.cpp (original)
+++ trunk/libs/tti/test/test_mf_has_static_data_fail3.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -18,7 +18,7 @@
                       <
                       BOOST_TTI_HAS_STATIC_MEMBER_DATA_GEN(DSMember)<_,_>,
                       boost::mpl::identity<AType>,
- boost::mpl::identity<int>
+ int
>
                   ));
   

Modified: trunk/libs/tti/test/test_mf_has_static_fun.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_static_fun.cpp (original)
+++ trunk/libs/tti/test/test_mf_has_static_fun.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -6,7 +6,6 @@
 
 #include "test_mf_has_static_fun.hpp"
 #include <boost/detail/lightweight_test.hpp>
-#include <boost/mpl/quote.hpp>
 
 int main()
   {
@@ -17,11 +16,11 @@
                 <
                 HaveTheSIntFunction<_,_,_>,
                 boost::mpl::identity<AType>,
- boost::mpl::identity<int>,
+ int,
                 boost::mpl::vector
                   <
- boost::mpl::identity<long>,
- boost::mpl::identity<double>
+ long,
+ double
>
>
               ::value
@@ -34,8 +33,8 @@
                 boost::mpl::identity<AType>,
                 boost::mpl::vector
                   <
- boost::mpl::identity<long>,
- boost::mpl::identity<double>
+ long,
+ double
>
>
               ::value
@@ -49,7 +48,7 @@
                 boost::mpl::vector
                   <
                   NameIntType<AType>,
- boost::mpl::identity<double>
+ double
>
>
               ::value
@@ -59,11 +58,11 @@
                 <
                 boost::mpl::quote4<HaveTheSIntFunction>,
                 boost::mpl::identity<AType>,
- boost::mpl::identity<int>,
+ int,
                 boost::mpl::vector
                   <
- boost::mpl::identity<long>,
- boost::mpl::identity<double>
+ long,
+ double
>
>
               ::value
@@ -76,8 +75,8 @@
                 boost::mpl::identity<AType>,
                 boost::mpl::vector
                   <
- boost::mpl::identity<long>,
- boost::mpl::identity<double>
+ long,
+ double
>
>
               ::value
@@ -91,7 +90,7 @@
                 boost::mpl::vector
                   <
                   NameIntType<AType>,
- boost::mpl::identity<double>
+ double
>
>
               ::value

Modified: trunk/libs/tti/test/test_mf_has_static_fun.hpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_static_fun.hpp (original)
+++ trunk/libs/tti/test/test_mf_has_static_fun.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -8,8 +8,8 @@
 #define TEST_MF_HAS_STATIC_FUNCTION_HPP
 
 #include "test_structs.hpp"
-#include <boost/tti/static_mem_fun.hpp>
-#include <boost/tti/mem_type.hpp>
+#include <boost/tti/has_static_member_function.hpp>
+#include <boost/tti/member_type.hpp>
 
 BOOST_TTI_TRAIT_HAS_STATIC_MEMBER_FUNCTION(HaveTheSIntFunction,SIntFunction)
 BOOST_TTI_TRAIT_HAS_STATIC_MEMBER_FUNCTION(TheTIntFunction,TIntFunction)

Modified: trunk/libs/tti/test/test_mf_has_static_fun_compile.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_static_fun_compile.cpp (original)
+++ trunk/libs/tti/test/test_mf_has_static_fun_compile.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -18,11 +18,11 @@
     <
     HaveTheSIntFunction<_,_,_>,
     boost::mpl::identity<AType>,
- boost::mpl::identity<int>,
+ int,
     boost::mpl::vector
       <
- boost::mpl::identity<long>,
- boost::mpl::identity<short>
+ long,
+ short
>
> aVar;
   
@@ -30,8 +30,8 @@
     <
     boost::mpl::quote4<Pickedname>,
     boost::mpl::identity<AType>,
- boost::mpl::identity<double>,
- boost::mpl::vector<boost::mpl::identity<float> >
+ double,
+ boost::mpl::vector<float>
> aVar2;
   
   // Compile time asserts
@@ -40,11 +40,11 @@
                       <
                       HaveTheSIntFunction<_,_,_>,
                       boost::mpl::identity<AType>,
- boost::mpl::identity<int>,
+ int,
                       boost::mpl::vector
                         <
- boost::mpl::identity<long>,
- boost::mpl::identity<double>
+ long,
+ double
>
>
                   ));
@@ -56,8 +56,8 @@
                       boost::mpl::identity<AType>,
                       boost::mpl::vector
                         <
- boost::mpl::identity<long>,
- boost::mpl::identity<double>
+ long,
+ double
>
>
                   ));
@@ -70,7 +70,7 @@
                       boost::mpl::vector
                         <
                         NameIntType<AType>,
- boost::mpl::identity<double>
+ double
>
>
                   ));
@@ -79,11 +79,11 @@
                       <
                       boost::mpl::quote4<HaveTheSIntFunction>,
                       boost::mpl::identity<AType>,
- boost::mpl::identity<int>,
+ int,
                       boost::mpl::vector
                         <
- boost::mpl::identity<long>,
- boost::mpl::identity<double>
+ long,
+ double
>
>
                   ));
@@ -95,8 +95,8 @@
                       boost::mpl::identity<AType>,
                       boost::mpl::vector
                         <
- boost::mpl::identity<long>,
- boost::mpl::identity<double>
+ long,
+ double
>
>
                   ));
@@ -109,7 +109,7 @@
                       boost::mpl::vector
                         <
                         NameIntType<AType>,
- boost::mpl::identity<double>
+ double
>
>
             ));

Modified: trunk/libs/tti/test/test_mf_has_static_fun_fail.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_static_fun_fail.cpp (original)
+++ trunk/libs/tti/test/test_mf_has_static_fun_fail.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -18,11 +18,11 @@
                       <
                       Pickedname<_,_,_>,
                       boost::mpl::identity<AType>,
- boost::mpl::identity<short>,
+ short,
                       boost::mpl::vector
                         <
- boost::mpl::identity<int>,
- boost::mpl::identity<long>
+ int,
+ long
>
>
                   ));

Modified: trunk/libs/tti/test/test_mf_has_static_fun_fail2.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_static_fun_fail2.cpp (original)
+++ trunk/libs/tti/test/test_mf_has_static_fun_fail2.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -18,11 +18,11 @@
                       <
                       HaveTheSIntFunction<_,_,_>,
                       boost::mpl::identity<AnotherType>,
- boost::mpl::identity<int>,
+ int,
                       boost::mpl::vector
                         <
- boost::mpl::identity<long>,
- boost::mpl::identity<double>
+ long,
+ double
>
>
                   ));

Modified: trunk/libs/tti/test/test_mf_has_static_fun_fail3.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_static_fun_fail3.cpp (original)
+++ trunk/libs/tti/test/test_mf_has_static_fun_fail3.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -22,7 +22,7 @@
                       boost::mpl::vector
                         <
                         NameIntType<AnotherType>,
- boost::mpl::identity<double>
+ double
>
>
                   ));

Modified: trunk/libs/tti/test/test_mf_has_template.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_template.cpp (original)
+++ trunk/libs/tti/test/test_mf_has_template.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -6,7 +6,6 @@
 
 #include "test_mf_has_template.hpp"
 #include <boost/detail/lightweight_test.hpp>
-#include <boost/mpl/quote.hpp>
 
 int main()
   {

Modified: trunk/libs/tti/test/test_mf_has_template.hpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_template.hpp (original)
+++ trunk/libs/tti/test/test_mf_has_template.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -8,8 +8,8 @@
 #define TEST_MF_HAS_TEMPLATE_HPP
 
 #include "test_structs.hpp"
-#include <boost/tti/template.hpp>
-#include <boost/tti/mem_type.hpp>
+#include <boost/tti/has_template.hpp>
+#include <boost/tti/member_type.hpp>
 
 BOOST_TTI_TRAIT_HAS_TEMPLATE(HaveMStr,MStrMemberTemplate)
 BOOST_TTI_HAS_TEMPLATE(TemplateNotExist)

Modified: trunk/libs/tti/test/test_mf_has_template_compile.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_template_compile.cpp (original)
+++ trunk/libs/tti/test/test_mf_has_template_compile.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -6,7 +6,6 @@
 
 #include "test_mf_has_template.hpp"
 #include <boost/mpl/assert.hpp>
-#include <boost/mpl/quote.hpp>
 
 int main()
   {

Modified: trunk/libs/tti/test/test_mf_has_template_cp.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_template_cp.cpp (original)
+++ trunk/libs/tti/test/test_mf_has_template_cp.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -6,7 +6,6 @@
 
 #include "test_mf_has_template_cp.hpp"
 #include <boost/detail/lightweight_test.hpp>
-#include <boost/mpl/quote.hpp>
 
 int main()
   {

Modified: trunk/libs/tti/test/test_mf_has_template_cp.hpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_template_cp.hpp (original)
+++ trunk/libs/tti/test/test_mf_has_template_cp.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -8,8 +8,8 @@
 #define TEST_MF_HAS_TEMPLATE_CHECK_PARAMS_HPP
 
 #include "test_structs.hpp"
-#include <boost/tti/template_params.hpp>
-#include <boost/tti/mem_type.hpp>
+#include <boost/tti/has_template_check_params.hpp>
+#include <boost/tti/member_type.hpp>
 
 BOOST_TTI_TRAIT_HAS_TEMPLATE_CHECK_PARAMS(HT_Str,MStrMemberTemplate,(class))
 BOOST_TTI_HAS_TEMPLATE_CHECK_PARAMS(AnotherMemberTemplate,(int)(int))

Modified: trunk/libs/tti/test/test_mf_has_template_cp_compile.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_template_cp_compile.cpp (original)
+++ trunk/libs/tti/test/test_mf_has_template_cp_compile.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -6,7 +6,6 @@
 
 #include "test_mf_has_template_cp.hpp"
 #include <boost/mpl/assert.hpp>
-#include <boost/mpl/quote.hpp>
 
 int main()
   {

Modified: trunk/libs/tti/test/test_mf_has_type.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_type.cpp (original)
+++ trunk/libs/tti/test/test_mf_has_type.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -6,7 +6,6 @@
 
 #include "test_mf_has_type.hpp"
 #include <boost/detail/lightweight_test.hpp>
-#include <boost/mpl/quote.hpp>
 
 int main()
   {

Modified: trunk/libs/tti/test/test_mf_has_type.hpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_type.hpp (original)
+++ trunk/libs/tti/test/test_mf_has_type.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -8,8 +8,8 @@
 #define TEST_MF_HAS_TYPE_HPP
 
 #include "test_structs.hpp"
-#include <boost/tti/type.hpp>
-#include <boost/tti/mem_type.hpp>
+#include <boost/tti/has_type.hpp>
+#include <boost/tti/member_type.hpp>
 
 BOOST_TTI_HAS_TYPE(AnIntType)
 BOOST_TTI_TRAIT_HAS_TYPE(NameStruct,AStructType)

Modified: trunk/libs/tti/test/test_mf_has_type_compile.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_type_compile.cpp (original)
+++ trunk/libs/tti/test/test_mf_has_type_compile.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -6,7 +6,6 @@
 
 #include "test_mf_has_type.hpp"
 #include <boost/mpl/assert.hpp>
-#include <boost/mpl/quote.hpp>
 
 int main()
   {

Modified: trunk/libs/tti/test/test_mf_has_type_ct.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_type_ct.cpp (original)
+++ trunk/libs/tti/test/test_mf_has_type_ct.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -6,7 +6,6 @@
 
 #include "test_mf_has_type_ct.hpp"
 #include <boost/detail/lightweight_test.hpp>
-#include <boost/mpl/quote.hpp>
 
 int main()
   {
@@ -17,7 +16,7 @@
                 <
                 BOOST_TTI_HAS_TYPE_GEN(AnIntType)<_,_>,
                 boost::mpl::identity<AType>,
- boost::mpl::identity<int>
+ int
>
               ::value
             ));
@@ -35,7 +34,7 @@
                 <
                 BOOST_TTI_HAS_TYPE_GEN(AnIntTypeReference)<_,_>,
                 boost::mpl::identity<AType>,
- boost::mpl::identity<int &>
+ int &
>
               ::value
             ));
@@ -53,7 +52,7 @@
                 <
                 TheInteger<_,_>,
                 BOOST_TTI_MEMBER_TYPE_GEN(BType)<AType>,
- boost::mpl::identity<int>
+ int
>
               ::value
             ));
@@ -79,7 +78,7 @@
                   boost::mpl::quote1<BOOST_TTI_MEMBER_TYPE_GEN(CType)>,
                   BOOST_TTI_MEMBER_TYPE_GEN(BType)<AType>
>,
- boost::mpl::identity<int>
+ int
>
               ::value
             ));
@@ -97,7 +96,7 @@
                 <
                 BOOST_TTI_HAS_TYPE_GEN(NoOtherType)<_,_>,
                 boost::mpl::identity<AnotherType>,
- boost::mpl::identity<double>
+ double
>
               ::value
             ));
@@ -106,7 +105,7 @@
                 <
                 boost::mpl::quote2<BOOST_TTI_HAS_TYPE_GEN(AnIntType)>,
                 boost::mpl::identity<AType>,
- boost::mpl::identity<int>
+ int
>
               ::value
             ));
@@ -124,7 +123,7 @@
                 <
                 boost::mpl::quote2<BOOST_TTI_HAS_TYPE_GEN(AnIntTypeReference)>,
                 boost::mpl::identity<AType>,
- boost::mpl::identity<int &>
+ int &
>
               ::value
             ));
@@ -142,7 +141,7 @@
                 <
                 boost::mpl::quote2<TheInteger>,
                 BOOST_TTI_MEMBER_TYPE_GEN(BType)<AType>,
- boost::mpl::identity<int>
+ int
>
               ::value
             ));
@@ -168,7 +167,7 @@
                   boost::mpl::quote1<BOOST_TTI_MEMBER_TYPE_GEN(CType)>,
                   BOOST_TTI_MEMBER_TYPE_GEN(BType)<AType>
>,
- boost::mpl::identity<int>
+ int
>
               ::value
             ));
@@ -186,7 +185,7 @@
                 <
                 boost::mpl::quote2<BOOST_TTI_HAS_TYPE_GEN(NoOtherType)>,
                 boost::mpl::identity<AnotherType>,
- boost::mpl::identity<double>
+ double
>
               ::value
             ));

Modified: trunk/libs/tti/test/test_mf_has_type_ct.hpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_type_ct.hpp (original)
+++ trunk/libs/tti/test/test_mf_has_type_ct.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -8,8 +8,8 @@
 #define TEST_MF_HAS_TYPE_CHECK_TYPEDEF_HPP
 
 #include "test_structs.hpp"
-#include <boost/tti/type.hpp>
-#include <boost/tti/mem_type.hpp>
+#include <boost/tti/has_type.hpp>
+#include <boost/tti/member_type.hpp>
 
 BOOST_TTI_HAS_TYPE(AnIntType)
 BOOST_TTI_TRAIT_HAS_TYPE(NameStruct,AStructType)

Modified: trunk/libs/tti/test/test_mf_has_type_ct_compile.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_type_ct_compile.cpp (original)
+++ trunk/libs/tti/test/test_mf_has_type_ct_compile.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -6,7 +6,6 @@
 
 #include "test_mf_has_type_ct.hpp"
 #include <boost/mpl/assert.hpp>
-#include <boost/mpl/quote.hpp>
 
 int main()
   {
@@ -19,14 +18,14 @@
     <
     TheInteger<_,_>,
     BOOST_TTI_MEMBER_TYPE_GEN(BType)<AnotherType>,
- boost::mpl::identity<long>
+ long
> aVar;
     
   boost::tti::mf_has_type
     <
     boost::mpl::quote2<BOOST_TTI_HAS_TYPE_GEN(NoOtherType)>,
     boost::mpl::identity<AType>,
- boost::mpl::identity<float>
+ float
> aVar2;
   
   // Compile time asserts
@@ -35,7 +34,7 @@
                 <
                 BOOST_TTI_HAS_TYPE_GEN(AnIntType)<_,_>,
                 boost::mpl::identity<AType>,
- boost::mpl::identity<int>
+ int
>
             ));
             
@@ -51,7 +50,7 @@
                 <
                 BOOST_TTI_HAS_TYPE_GEN(AnIntTypeReference)<_,_>,
                 boost::mpl::identity<AType>,
- boost::mpl::identity<int &>
+ int &
>
             ));
             
@@ -67,7 +66,7 @@
                 <
                 TheInteger<_,_>,
                 BOOST_TTI_MEMBER_TYPE_GEN(BType)<AType>,
- boost::mpl::identity<int>
+ int
>
             ));
             
@@ -91,7 +90,7 @@
                   BOOST_TTI_MEMBER_TYPE_GEN(CType)<_>,
                   BOOST_TTI_MEMBER_TYPE_GEN(BType)<AType>
>,
- boost::mpl::identity<int>
+ int
>
             ));
             
@@ -107,7 +106,7 @@
                 <
                 boost::mpl::quote2<BOOST_TTI_HAS_TYPE_GEN(AnIntType)>,
                 boost::mpl::identity<AType>,
- boost::mpl::identity<int>
+ int
>
             ));
             
@@ -123,7 +122,7 @@
                 <
                 boost::mpl::quote2<BOOST_TTI_HAS_TYPE_GEN(AnIntTypeReference)>,
                 boost::mpl::identity<AType>,
- boost::mpl::identity<int &>
+ int &
>
             ));
             
@@ -139,7 +138,7 @@
                 <
                 boost::mpl::quote2<TheInteger>,
                 BOOST_TTI_MEMBER_TYPE_GEN(BType)<AType>,
- boost::mpl::identity<int>
+ int
>
             ));
             
@@ -163,7 +162,7 @@
                   boost::mpl::quote1<BOOST_TTI_MEMBER_TYPE_GEN(CType)>,
                   BOOST_TTI_MEMBER_TYPE_GEN(BType)<AType>
>,
- boost::mpl::identity<int>
+ int
>
             ));
             

Modified: trunk/libs/tti/test/test_mf_has_type_ct_fail.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_type_ct_fail.cpp (original)
+++ trunk/libs/tti/test/test_mf_has_type_ct_fail.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -18,7 +18,7 @@
                       <
                       BOOST_TTI_HAS_TYPE_GEN(NoOtherType)<_,_>,
                       boost::mpl::identity<AnotherType>,
- boost::mpl::identity<float>
+ float
>
                   ));
   

Modified: trunk/libs/tti/test/test_mf_has_type_ct_fail3.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_has_type_ct_fail3.cpp (original)
+++ trunk/libs/tti/test/test_mf_has_type_ct_fail3.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -18,7 +18,7 @@
                       <
                       TheInteger<_,_>,
                       BOOST_TTI_MEMBER_TYPE_GEN(BType)<AType>,
- boost::mpl::identity<long>
+ long
>
                   ));
   

Modified: trunk/libs/tti/test/test_mf_mem_type.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_mem_type.cpp (original)
+++ trunk/libs/tti/test/test_mf_mem_type.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -6,7 +6,6 @@
 
 #include "test_mf_mem_type.hpp"
 #include <boost/detail/lightweight_test.hpp>
-#include <boost/mpl/quote.hpp>
 
 int main()
   {

Modified: trunk/libs/tti/test/test_mf_mem_type.hpp
==============================================================================
--- trunk/libs/tti/test/test_mf_mem_type.hpp (original)
+++ trunk/libs/tti/test/test_mf_mem_type.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -8,7 +8,7 @@
 #define TEST_MF_MEMBER_TYPE_HPP
 
 #include "test_structs.hpp"
-#include <boost/tti/mem_type.hpp>
+#include <boost/tti/member_type.hpp>
 
 BOOST_TTI_MEMBER_TYPE(AnIntType)
 BOOST_TTI_TRAIT_MEMBER_TYPE(NameStruct,AStructType)

Modified: trunk/libs/tti/test/test_mf_mem_type_compile.cpp
==============================================================================
--- trunk/libs/tti/test/test_mf_mem_type_compile.cpp (original)
+++ trunk/libs/tti/test/test_mf_mem_type_compile.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -6,7 +6,6 @@
 
 #include "test_mf_mem_type.hpp"
 #include <boost/mpl/assert.hpp>
-#include <boost/mpl/quote.hpp>
 
 int main()
   {

Modified: trunk/libs/tti/test/test_vm_has_template_cp.hpp
==============================================================================
--- trunk/libs/tti/test/test_vm_has_template_cp.hpp (original)
+++ trunk/libs/tti/test/test_vm_has_template_cp.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -12,7 +12,7 @@
 #if BOOST_PP_VARIADICS
 
 #include "test_structs.hpp"
-#include <boost/tti/vm_template_params.hpp>
+#include <boost/tti/vm_has_template_check_params.hpp>
 
 BOOST_TTI_VM_HAS_TEMPLATE_CHECK_PARAMS(ATPMemberTemplate,class)
 BOOST_TTI_VM_TRAIT_HAS_TEMPLATE_CHECK_PARAMS(HaveCL,CLMemberTemplate,class,class)

Modified: trunk/libs/tti/test/test_vm_mf_has_template_cp.cpp
==============================================================================
--- trunk/libs/tti/test/test_vm_mf_has_template_cp.cpp (original)
+++ trunk/libs/tti/test/test_vm_mf_has_template_cp.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -6,7 +6,6 @@
 
 #include "test_vm_mf_has_template_cp.hpp"
 #include <boost/detail/lightweight_test.hpp>
-#include <boost/mpl/quote.hpp>
 
 int main()
   {

Modified: trunk/libs/tti/test/test_vm_mf_has_template_cp.hpp
==============================================================================
--- trunk/libs/tti/test/test_vm_mf_has_template_cp.hpp (original)
+++ trunk/libs/tti/test/test_vm_mf_has_template_cp.hpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -12,8 +12,8 @@
 #if BOOST_PP_VARIADICS
 
 #include "test_structs.hpp"
-#include <boost/tti/vm_template_params.hpp>
-#include <boost/tti/mem_type.hpp>
+#include <boost/tti/vm_has_template_check_params.hpp>
+#include <boost/tti/member_type.hpp>
 
 BOOST_TTI_VM_TRAIT_HAS_TEMPLATE_CHECK_PARAMS(HT_Str,MStrMemberTemplate,class)
 BOOST_TTI_VM_HAS_TEMPLATE_CHECK_PARAMS(AnotherMemberTemplate,int,int)

Modified: trunk/libs/tti/test/test_vm_mf_has_template_cp_compile.cpp
==============================================================================
--- trunk/libs/tti/test/test_vm_mf_has_template_cp_compile.cpp (original)
+++ trunk/libs/tti/test/test_vm_mf_has_template_cp_compile.cpp 2011-08-23 23:46:01 EDT (Tue, 23 Aug 2011)
@@ -6,7 +6,6 @@
 
 #include "test_vm_mf_has_template_cp.hpp"
 #include <boost/mpl/assert.hpp>
-#include <boost/mpl/quote.hpp>
 
 int main()
   {


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk