Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r50108 - in sandbox/mirror: boost/mirror/concept doc/html/mirror/non_boost_book/concepts
From: chochlik_at_[hidden]
Date: 2008-12-04 04:20:45


Author: matus.chochlik
Date: 2008-12-04 04:20:42 EST (Thu, 04 Dec 2008)
New Revision: 50108
URL: http://svn.boost.org/trac/boost/changeset/50108

Log:
[mirror 0.3.x]
- Additional concept conformance tests

Added:
   sandbox/mirror/boost/mirror/concept/MetaClassAttribute.hpp (contents, props changed)
   sandbox/mirror/boost/mirror/concept/MetaClassMember.hpp (contents, props changed)
   sandbox/mirror/boost/mirror/concept/MetaObjectSequenceElement.hpp (contents, props changed)
   sandbox/mirror/boost/mirror/concept/MetaVariable.hpp (contents, props changed)
Text files modified:
   sandbox/mirror/doc/html/mirror/non_boost_book/concepts/ontology.xml | 2 +-
   1 files changed, 1 insertions(+), 1 deletions(-)

Added: sandbox/mirror/boost/mirror/concept/MetaClassAttribute.hpp
==============================================================================
--- (empty file)
+++ sandbox/mirror/boost/mirror/concept/MetaClassAttribute.hpp 2008-12-04 04:20:42 EST (Thu, 04 Dec 2008)
@@ -0,0 +1,54 @@
+/**
+ * \file boost/mirror/concept/MetaClassAttribute.hpp
+ *
+ * Meta function checking whether a given type satisfies the
+ * requirements of the MetaClassAttribute concept
+ *
+ * Copyright 2008 Matus Chochlik. Distributed under the Boost
+ * Software License, Version 1.0. (See accompanying file
+ * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ */
+
+#ifndef BOOST_MIRROR_CONCEPT_META_CLASS_ATTRIBUTE_HPP
+#define BOOST_MIRROR_CONCEPT_META_CLASS_ATTRIBUTE_HPP
+
+#include <boost/mirror/concept/MetaVariable.hpp>
+#include <boost/mirror/concept/MetaClassMember.hpp>
+#include <boost/mirror/concept/MetaObjectSequenceElement.hpp>
+
+namespace boost {
+namespace mirror {
+
+
+template <typename T>
+struct is_MetaClassAttribute
+{
+ BOOST_MIRROR_CONCEPT_TESTER_BEGIN
+
+ template <class X>
+ static match test(
+ X*,
+ typename X::type* x1 = 0,
+ typename X::traits* x2 = 0,
+ const typename X::type::reflected_type* _y1 = &X::get(
+ *((typename X::scope::reflected_type*)0)
+ )
+ );
+
+ typedef typename mpl::and_<
+ typename is_MetaClassMember<T>::type,
+ typename is_MetaVariable<T>::type,
+ typename is_MetaObjectSequenceElement<T>::type
+ >::type other_constraints;
+
+ BOOST_MIRROR_CONCEPT_TESTER_END
+
+};
+
+
+
+} // namespace mirror
+} // namespace boost
+
+#endif //include guard
+

Added: sandbox/mirror/boost/mirror/concept/MetaClassMember.hpp
==============================================================================
--- (empty file)
+++ sandbox/mirror/boost/mirror/concept/MetaClassMember.hpp 2008-12-04 04:20:42 EST (Thu, 04 Dec 2008)
@@ -0,0 +1,41 @@
+/**
+ * \file boost/mirror/concept/MetaClassMember.hpp
+ *
+ * Meta function checking whether a given type satisfies the
+ * requirements of the MetaClassMember concept
+ *
+ * Copyright 2008 Matus Chochlik. Distributed under the Boost
+ * Software License, Version 1.0. (See accompanying file
+ * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ */
+
+#ifndef BOOST_MIRROR_CONCEPT_META_CLASS_MEMBER_HPP
+#define BOOST_MIRROR_CONCEPT_META_CLASS_MEMBER_HPP
+
+#include <boost/mirror/concept/MetaNamedScopedObject.hpp>
+
+namespace boost {
+namespace mirror {
+
+template <typename T>
+struct is_MetaClassMember
+{
+ BOOST_MIRROR_CONCEPT_TESTER_BEGIN
+
+ template <class X>
+ static match test(
+ X*
+ );
+
+ typedef is_MetaNamedScopedObject<T> other_constraints;
+
+ BOOST_MIRROR_CONCEPT_TESTER_END
+
+};
+
+
+} // namespace mirror
+} // namespace boost
+
+#endif //include guard
+

Added: sandbox/mirror/boost/mirror/concept/MetaObjectSequenceElement.hpp
==============================================================================
--- (empty file)
+++ sandbox/mirror/boost/mirror/concept/MetaObjectSequenceElement.hpp 2008-12-04 04:20:42 EST (Thu, 04 Dec 2008)
@@ -0,0 +1,46 @@
+/**
+ * \file boost/mirror/concept/MetaObjectSequenceElement.hpp
+ *
+ * Meta function checking whether a given type satisfies the
+ * requirements of the MetaObjectSequenceElement concept
+ *
+ * Copyright 2008 Matus Chochlik. Distributed under the Boost
+ * Software License, Version 1.0. (See accompanying file
+ * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ */
+
+#ifndef BOOST_MIRROR_CONCEPT_META_OBJECT_SEQUENCE_ELEMENT_HPP
+#define BOOST_MIRROR_CONCEPT_META_OBJECT_SEQUENCE_ELEMENT_HPP
+
+#include <boost/mirror/concept/MetaObject.hpp>
+
+namespace boost {
+namespace mirror {
+
+
+template <typename T>
+struct is_MetaObjectSequenceElement
+{
+ BOOST_MIRROR_CONCEPT_TESTER_BEGIN
+
+ template <class X>
+ static match test(
+ X*,
+ typename X::container* _x1 = 0,
+ typename X::position* _x2 = 0
+ );
+
+ typedef typename is_MetaObject<T>::type
+ other_constraints;
+
+ BOOST_MIRROR_CONCEPT_TESTER_END
+
+};
+
+
+
+} // namespace mirror
+} // namespace boost
+
+#endif //include guard
+

Added: sandbox/mirror/boost/mirror/concept/MetaVariable.hpp
==============================================================================
--- (empty file)
+++ sandbox/mirror/boost/mirror/concept/MetaVariable.hpp 2008-12-04 04:20:42 EST (Thu, 04 Dec 2008)
@@ -0,0 +1,41 @@
+/**
+ * \file boost/mirror/concept/MetaVariable.hpp
+ *
+ * Meta function checking whether a given type satisfies the
+ * requirements of the MetaVariable concept
+ *
+ * Copyright 2008 Matus Chochlik. Distributed under the Boost
+ * Software License, Version 1.0. (See accompanying file
+ * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+ */
+
+#ifndef BOOST_MIRROR_CONCEPT_META_VARIABLE_HPP
+#define BOOST_MIRROR_CONCEPT_META_VARIABLE_HPP
+
+#include <boost/mirror/concept/MetaNamedScopedObject.hpp>
+
+namespace boost {
+namespace mirror {
+
+template <typename T>
+struct is_MetaVariable
+{
+ BOOST_MIRROR_CONCEPT_TESTER_BEGIN
+
+ template <class X>
+ static match test(
+ X*
+ );
+
+ typedef is_MetaNamedScopedObject<T> other_constraints;
+
+ BOOST_MIRROR_CONCEPT_TESTER_END
+
+};
+
+
+} // namespace mirror
+} // namespace boost
+
+#endif //include guard
+

Modified: sandbox/mirror/doc/html/mirror/non_boost_book/concepts/ontology.xml
==============================================================================
--- sandbox/mirror/doc/html/mirror/non_boost_book/concepts/ontology.xml (original)
+++ sandbox/mirror/doc/html/mirror/non_boost_book/concepts/ontology.xml 2008-12-04 04:20:42 EST (Thu, 04 Dec 2008)
@@ -596,7 +596,7 @@
                         <fn_param concept="Class" name="instance"/>
                         <fn_param concept="TypeReference" name="dest_ref"/>
                 </member_function>
- <member_function concept="TypeReference" name="query">
+ <member_function concept="TypeReference" name="set">
                         <desc>Generic attribute value setter. Assigns the new_value to the reflected class attribute, when given an instance of the class that the attribute belongs to.</desc>
                         <fn_param concept="Class" name="instance"/>
                         <fn_param concept="Type" name="new_value"/>


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