## Reference

1. 関数
2. マクロ
3. 基本コンセプト･チェック用クラス
4. イテレータ･コンセプト･チェック用クラス
5. 関数オブジェクト・コンセプト･チェック用クラス
6. コンテナ･コンセプト･チェック用クラス
7. 基本原型クラス
8. イテレータ原型クラス
9. 関数オブジェクト原型クラス
10. コンテナ原型クラス

### 関数

      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;

### コンテナ原型クラス

    構築中

Introduction へ戻る
前へ： Implementation

Copyright © 2000 | Jeremy Siek, Univ.of Notre Dame (jsiek@lsc.nd.edu)