C++ Boost

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)