最終更新日時:
が更新

履歴 編集

Boost.Signals: ヘッダ <[boost/signals/connection.hpp](http://www.boost.org/doc/libs/1_31_0/boost/sig

namespace boost {
    namespace signals {
        class connection;
        class scoped_connection;

        void swap(connection&, connection&);
        void swap(scoped_connection&, scoped_connection&);
    }
}

connection クラス概要

connection クラスは SignalSlot の間の接続を表す。 これはシグナルとスロットが現在接続されているかを問い合わせ、またシグナルとスロットを切断する能力を有する軽量オブジェクトである。 問い合わせと connection の切断を行うことは、常に安全である。

namespace boost {
    namespace signals {
        class connection : // connection クラスは LessThanComparable かつ EqualityComparableである
        private less_than_comparable1<connection>, // 開示用
        private equality_comparable1<connection> // 開示用
        {
        public:
            connection();
            connection(const connection&);
            ~connection();

            void disconnect() const;
            bool connected() const;

            connection& operator=(const connection&);
            void swap(connection&);

            bool operator==(const connection& other) const;
            bool operator<(const connection& other) const;
        };
    }
}

connection クラスメンバ

コンストラクタ

connection();

  • 作用: 現在の接続を NULL 接続に設定する。
  • 事後条件: !this->connected()
  • 例外: なし。

connection(const connection& other);

  • 作用: other によって参照されていた接続を this が参照する。
  • 例外: なし。

デストラクタ

~connection();

  • 作用: なし。

接続管理

void disconnect() const;

  • 作用: this->is_connected() が真であれば this によって参照されているシグナルとスロットの接続を切断する; そうでなければ何もしない。
  • 事後条件: !this->is_connected()

bool connected() const;

  • 戻り値: this がアクティブな (接続されている) 非 NULL 接続を参照していれば true、そうでなければ false
  • 例外: なし。

代入と交換

connection& operator=(const connection& other);

  • 作用: connection(other).swap(*this);
  • 戻り値: *this

void swap(connection& other);

  • 作用: thisother が参照している接続を交換する。
  • 例外: なし。

比較

bool operator==(const connection& other) const;

  • 戻り値: thisother が同一の接続を参照しているか、両方とも NULL 接続を参照している場合 true、そうでなければ false
  • 例外: なし。

bool operator<(const connection& other) const;

  • 戻り値: 実装定義の順序づけによって、this によって参照されている接続が other によって参照されている接続に先行する場合 true、そうでなければ false
  • 例外: なし。

scoped_connection クラス概要

scoped_connection クラスは、そのインスタンスが破棄されるときに自動的に切断される接続である。

namespace boost {
    namespace signals {
        class scoped_connection : public connection
        {
        public:
            scoped_connection();
            scoped_connection(const scoped_connection&);
            scoped_connection(const connection&);
            ~scoped_connection();

            connection& operator=(const scoped_connection&);
            connection& operator=(const connection&);
            void swap(connection&);
        };
    }
}

scoped_connection クラスメンバ

コンストラクタ

scoped_connection();

  • 作用: 現在の接続を NULL 接続に設定する。
  • 事後条件: !this->connected()
  • 例外: なし。

scoped_connection(const scoped_connection& other);

  • 作用: other によって参照されていた接続を this が参照する。
  • 例外: なし。

scoped_connection(const connection& other);

  • 作用: other によって参照されていた接続を this が参照する。
  • 例外: なし。

デストラクタ

~connection();

  • 作用: this->disconnect()

代入と交換

scoped_connection& operator=(const scoped_connection& other);

  • 作用: scoped_connection(other).swap(*this);
  • 戻り値: *this

scoped_connection& operator=(const connection& other);

  • 作用: scoped_connection(other).swap(*this);
  • 戻り値: *this

void swap(scoped_connection& other);

  • 作用: thisother が参照する接続を交換する。
  • 例外: なし。

フリー関数

void swap(connection& c1, connection& c2);

  • 作用: c1.swap(c2)
  • 例外: なし。

void swap(scoped_connection& c1, scoped_connection& c2);

  • 作用: c1.swap(c2)
  • 例外: なし。

Doug Gregor

Last modified: Fri Oct 11 05:42:05 EDT 2002