最終更新日時:
が更新

履歴 編集

リファレンス

  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;

コンテナ原型クラス

構築中


Copyright © 2000 Jeremy Siek(jsiek@osl.iu.edu) Andrew Lumsdaine(lums@osl.iu.edu)