- 関数
- マクロ
- 基本コンセプト・チェック用クラス
- イテレータ・コンセプト・チェック用クラス
- 関数オブジェクト・コンセプト・チェック用クラス
- コンテナ・コンセプト・チェック用クラス
- 基本原型クラス
- イテレータ原型クラス
- 関数オブジェクト原型クラス
- コンテナ原型クラス
関数
template <class Concept>
void function_requires();
マクロ
// クラス定義内でコンセプト・チェックに適用する
BOOST_CLASS_REQUIRE(type, namespace-of-concept, concept);
BOOST_CLASS_REQUIRE2(type1, type2, namespace-of-concept, concept);
BOOST_CLASS_REQUIRE3(type1, type2, type3, namespace-of-concept, concept);
BOOST_CLASS_REQUIRE4(type1, type2, type3, type4, namespace-of-concept, concept);
推奨されないマクロ:
// クラス定義内でコンセプト・チェックに適用する
BOOST_CLASS_REQUIRES(type, concept);
BOOST_CLASS_REQUIRES2(type1, type2, concept);
BOOST_CLASS_REQUIRES3(type1, type2, type3, concept);
BOOST_CLASS_REQUIRES4(type1, type2, type3, type4, concept);
基本コンセプト・チェック用クラス
template <class T>
struct IntegerConcept; // T は組み込み整数型であるか?
template <class T>
struct SignedIntegerConcept; // T は組み込み符号付き整数型であるか?
template <class T>
struct UnsignedIntegerConcept; // T は組み込み符号無し整数型であるか?
template <class X, class Y>
struct ConvertibleConcept; // X は Y へ変換可能か?
template <class T>
struct AssignableConcept; // 規格 23.1 参照
template <class T>
struct SGIAssignableConcept;
template <class T>
struct DefaultConstructibleConcept;
template <class T>
struct CopyConstructibleConcept; // 規格 20.1.3 参照
template <class T>
struct EqualityComparableConcept; // 規格 20.1.1 参照
template <class T>
struct LessThanComparableConcept; // 規格 20.1.2 参照
template <class T>
struct ComparableConcept; // SGI STL LessThanComparable コンセプト
イテレータ・コンセプト・チェック用クラス
template <class Iter>
struct TrivialIteratorConcept;
template <class Iter>
struct Mutable_TrivialIteratorConcept;
template <class Iter>
struct InputIteratorConcept; // 規格24.1.1 Table 72参照
template <class Iter, class T>
struct OutputIteratorConcept; // 規格24.1.2 Table 73参照
template <class Iter>
struct ForwardIteratorConcept; // 規格24.1.3 Table 74参照
template <class Iter>
struct Mutable_ForwardIteratorConcept;
template <class Iter>
struct BidirectionalIteratorConcept; // 規格24.1.4 Table 75参照
template <class Iter>
struct Mutable_BidirectionalIteratorConcept;
template <class Iter>
struct RandomAccessIteratorConcept; // 規格24.1.5 Table 76参照
template <class Iter>
struct Mutable_RandomAccessIteratorConcept;
関数オブジェクト・コンセプト・チェック用クラス
template <class Func, class Return>
struct GeneratorConcept;
template <class Func, class Return, class Arg>
struct UnaryFunctionConcept;
template <class Func, class Return, class First, class Second>
struct BinaryFunctionConcept;
template <class Func, class Arg>
struct UnaryPredicateConcept;
template <class Func, class First, class Second>
struct BinaryPredicateConcept;
template <class Func, class First, class Second>
struct Const_BinaryPredicateConcept;
template <class Func, class Return>
struct AdaptableGeneratorConcept;
template <class Func, class Return, class Arg>
struct AdaptableUnaryFunctionConcept;
template <class Func, class First, class Second>
struct AdaptableBinaryFunctionConcept;
template <class Func, class Arg>
struct AdaptablePredicateConcept;
template <class Func, class First, class Second>
struct AdaptableBinaryPredicateConcept;
コンテナ・コンセプト・チェック用クラス
template <class C>
struct ContainerConcept; // 規格 23.1 Table 65 参照
template <class C>
struct Mutable_ContainerConcept;
template <class C>
struct ForwardContainerConcept;
template <class C>
struct Mutable_ForwardContainerConcept;
template <class C>
struct ReversibleContainerConcept; // 規格 23.1 Table 66 参照
template <class C>
struct Mutable_ReversibleContainerConcept;
template <class C>
struct RandomAccessContainerConcept;
template <class C>
struct Mutable_RandomAccessContainerConcept;
template <class C>
struct SequenceConcept; // 規格 23.1.1 参照
template <class C>
struct FrontInsertionSequenceConcept;
template <class C>
struct BackInsertionSequenceConcept;
template <class C>
struct AssociativeContainerConcept; // 規格 23.1.2 Table 69 参照
template <class C>
struct UniqueAssociativeContainerConcept;
template <class C>
struct MultipleAssociativeContainerConcept;
template <class C>
struct SimpleAssociativeContainerConcept;
template <class C>
struct PairAssociativeContainerConcept;
template <class C>
struct SortedAssociativeContainerConcept;
基本原型クラス
template <class T = int>
class null_archetype; // モデル化するコンセプトが無いことを示す型
template <class Base = null_archetype>
class default_constructible_archetype;
template <class Base = null_archetype>
class assignable_archetype;
template <class Base = null_archetype>
class copy_constructible_archetype;
template <class Base = null_archetype>
class equality_comparable_archetype;
template <class T, class Base = null_archetype>
class convertible_to_archetype;
イテレータ原型クラス
template <class ValueType>
class trivial_iterator_archetype;
template <class ValueType>
class mutable_trivial_iterator_archetype;
template <class ValueType>
class input_iterator_archetype;
template <class ValueType>
class forward_iterator_archetype;
template <class ValueType>
class bidirectional_iterator_archetype;
template <class ValueType>
class random_access_iterator_archetype;
関数オブジェクト原型クラス
template <class Arg, class Return>
class unary_function_archetype;
template <class Arg1, class Arg2, class Return>
class binary_function_archetype;
template <class Arg>
class predicate_archetype;
template <class Arg1, class Arg2>
class binary_predicate_archetype;
コンテナ原型クラス
構築中
Copyright © 2000 Jeremy Siek(jsiek@osl.iu.edu) Andrew Lumsdaine(lums@osl.iu.edu)