WebCFace 2.5.2
Web-based Communication Framework & Dashboard-like UI
|
Viewの送受信データを表すクラス More...
#include <webcface/view.h>
Public Member Functions | |
View () | |
View (const Field &base) | |
View (const Field &base, const SharedString &field) | |
View (const View &rhs) | |
View (View &&rhs) noexcept | |
View & | operator= (const View &rhs) |
View & | operator= (View &&rhs) noexcept |
~View () | |
View | child (std::string_view field) const |
「(thisの名前).(追加の名前)」を新しい名前とするField | |
View | child (std::wstring_view field) const |
「(thisの名前).(追加の名前)」を新しい名前とするField (wstring) | |
View | child (int index) const |
View | operator[] (std::string_view field) const |
View | operator[] (std::wstring_view field) const |
View | operator[] (const char *field) const |
View | operator[] (const wchar_t *field) const |
View | operator[] (int index) const |
View | parent () const |
nameの最後のピリオドの前までを新しい名前とするField | |
const View & | onChange (std::function< void(View)> callback) const |
値が変化したときに呼び出されるコールバックを設定 | |
template<typename F , typename std::enable_if_t< std::is_invocable_v< F >, std::nullptr_t > = nullptr> | |
const View & | onChange (F callback) const |
値が変化したときに呼び出されるコールバックを設定 | |
template<typename T > | |
void | appendListener (T &&callback) const |
const View & | request () const |
viewをリクエストする | |
std::optional< std::vector< ViewComponent > > | tryGet () const |
Viewを取得する | |
std::vector< ViewComponent > | get () const |
Viewを取得する | |
bool | exists () const |
このフィールドにデータが存在すればtrue | |
std::chrono::system_clock::time_point | time () const |
syncの時刻を返す | |
const View & | free () const |
値やリクエスト状態をクリア | |
const View & | init () const |
このViewのViewBufの内容を初期化する | |
template<typename T , EnableIfFormattable< T > = TraitOk> | |
const View & | operator<< (T &&rhs) const |
文字列にフォーマットし、textコンポーネントとして追加 | |
const View & | operator<< (std::ostream &(*os_manip)(std::ostream &)) const |
template<bool C2, bool C3> | |
const View & | operator<< (TemporalComponent< true, C2, C3 > vc) const |
コンポーネントを追加 | |
const View & | operator<< (TemporalViewComponent vc) const |
コンポーネントを追加 | |
template<typename F , EnableIfInvocable< F > = TraitOk> | |
const View & | operator<< (const F &manip) const |
コンポーネントを追加 | |
template<typename T > | |
const View & | add (T &&rhs) const |
コンポーネントなどを追加 | |
const View & | sync () const |
Viewの内容をclientに反映し送信可能にする | |
template<typename T , typename std::enable_if_t< std::is_same_v< T, View >, std::nullptr_t > = nullptr> | |
bool | operator== (const T &other) const |
Viewの参照先を比較 | |
template<typename T , typename std::enable_if_t< std::is_same_v< T, View >, std::nullptr_t > = nullptr> | |
bool | operator!= (const T &other) const |
std::string | lastName () const |
nameのうちピリオドで区切られた最後の部分を取り出す | |
Member | member () const |
Memberを返す | |
const std::string & | name () const |
field名を返す | |
const std::wstring & | nameW () const |
field名を返す (wstring) | |
Protected Member Functions | |
std::shared_ptr< internal::ClientData > | dataLock () const |
data_wをlockし、失敗したらruntime_errorを投げる | |
std::shared_ptr< internal::ClientData > | setCheck () const |
data_wをlockし、memberがselfではなければinvalid_argumentを投げる | |
bool | expired () const |
SharedString | lastName8 () const |
Field | child (const SharedString &field) const |
std::wstring | lastNameW () const |
nameのうちピリオドで区切られた最後の部分を取り出す (wstring) | |
Value | value (std::string_view field="") const |
Value | value (std::wstring_view field) const |
Text | text (std::string_view field="") const |
Text | text (std::wstring_view field) const |
RobotModel | robotModel (std::string_view field="") const |
RobotModel | robotModel (std::wstring_view field) const |
Image | image (std::string_view field="") const |
Image | image (std::wstring_view field) const |
Func | func (std::string_view field="") const |
Func | func (std::wstring_view field) const |
FuncListener | funcListener (std::string_view field) const |
FuncListener | funcListener (std::wstring_view field) const |
View | view (std::string_view field="") const |
View | view (std::wstring_view field) const |
Canvas3D | canvas3D (std::string_view field="") const |
Canvas3D | canvas3D (std::wstring_view field) const |
Canvas2D | canvas2D (std::string_view field="") const |
Canvas2D | canvas2D (std::wstring_view field) const |
Log | log (std::string_view field="") const |
Log | log (std::wstring_view field) const |
std::vector< Value > | valueEntries () const |
std::vector< Text > | textEntries () const |
std::vector< RobotModel > | robotModelEntries () const |
std::vector< Func > | funcEntries () const |
std::vector< View > | viewEntries () const |
std::vector< Canvas3D > | canvas3DEntries () const |
std::vector< Canvas2D > | canvas2DEntries () const |
std::vector< Image > | imageEntries () const |
std::vector< Log > | logEntries () const |
bool | isSelf () const |
memberがselfならtrue | |
bool | operator== (const Field &other) const |
bool | operator== (const FieldBase &rhs) const |
bool | operator!= (const Field &other) const |
bool | operator!= (const FieldBase &rhs) const |
Protected Attributes | |
std::weak_ptr< internal::ClientData > | data_w |
ClientDataの参照 | |
SharedString | member_ |
メンバー名 | |
SharedString | field_ |
フィールド名 | |
Viewの送受信データを表すクラス
コンストラクタではなく Member::view() を使って取得してください
View | ( | ) |
|
inline |
~View | ( | ) |
|
inline |
コンポーネントなどを追加
Tの型に応じた operator<< が呼ばれる
ver1.9〜 const参照から&&に変更してforwardするようにした
|
inline |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inline |
|
inline |
「(thisの名前).(追加の名前)」を新しい名前とするField
|
inline |
「(thisの名前).(追加の名前)」を新しい名前とするField (wstring)
|
inherited |
data_wをlockし、失敗したらruntime_errorを投げる
bool exists | ( | ) | const |
|
inherited |
const View & free | ( | ) | const |
値やリクエスト状態をクリア
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inline |
Viewを取得する
|
inherited |
|
inherited |
|
inherited |
const View & init | ( | ) | const |
|
inherited |
memberがselfならtrue
data_wがlockできなければruntime_errorを投げる
|
inline |
nameのうちピリオドで区切られた最後の部分を取り出す
|
protectedinherited |
|
inlineinherited |
nameのうちピリオドで区切られた最後の部分を取り出す (wstring)
|
inherited |
|
inherited |
|
inherited |
Member member | ( | ) | const |
Memberを返す
|
inline |
field名を返す
|
inline |
field名を返す (wstring)
|
inline |
値が変化したときに呼び出されるコールバックを設定
callback | 引数をとらない関数 |
値が変化したときに呼び出されるコールバックを設定
callback | View型の引数(thisが渡される)を1つ取る関数 |
|
inlineinherited |
|
inlineinherited |
|
inline |
|
inline |
コンポーネントを追加
カスタムコンポーネントとして引数にViewをとる関数を渡すことができる
|
inline |
|
inline |
文字列にフォーマットし、textコンポーネントとして追加
std::ostream::operator<< でも同様の動作をするが、returnする型が異なる (std::ostream & を返すと operator<<(ViewComponent) が使えなくなる)
ver1.9〜 const参照ではなく&&型にしてforwardするようにした
|
inline |
コンポーネントを追加
std::flushも呼び出すことで直前に追加した未flashの文字列なども確実に追加する
const View & operator<< | ( | TemporalViewComponent | vc | ) | const |
コンポーネントを追加
std::flushも呼び出すことで直前に追加した未flashの文字列なども確実に追加する
|
inherited |
|
inlineinherited |
|
inline |
Viewの参照先を比較
|
inline |
operator[](long, const char *)と解釈されるのを防ぐための定義
|
inline |
|
inline |
nameの最後のピリオドの前までを新しい名前とするField
const View & request | ( | ) | const |
viewをリクエストする
|
inherited |
|
inherited |
|
inherited |
|
inherited |
data_wをlockし、memberがselfではなければinvalid_argumentを投げる
const View & sync | ( | ) | const |
Viewの内容をclientに反映し送信可能にする
|
inherited |
|
inherited |
|
inherited |
std::chrono::system_clock::time_point time | ( | ) | const |
syncの時刻を返す
std::optional< std::vector< ViewComponent > > tryGet | ( | ) | const |
Viewを取得する
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
ClientDataの参照
ClientData内に保持するクラスもあるので循環参照を避けるためweak_ptr
|
inherited |
フィールド名
Memberなどフィールド名が不要なクラスでは使用しない
|
inherited |
メンバー名