WebCFace 2.9.0
Web-based Communication Framework & Dashboard-like UI
Loading...
Searching...
No Matches
Value Class Reference

実数値またはその配列の送受信データを表すクラス More...

#include <webcface/value.h>

Inheritance diagram for Value:
[legend]
Collaboration diagram for Value:
[legend]

Public Member Functions

 Value ()=default
 
 Value (const Field &base)
 
 Value (const Field &base, const SharedString &field)
 
Value child (std::string_view field) const
 「(thisの名前).(追加の名前)」を新しい名前とするField
 
Value child (std::wstring_view field) const
 「(thisの名前).(追加の名前)」を新しい名前とするField (wstring)
 
Value child (int index) const
 
Value operator[] (std::string_view field) const
 
Value operator[] (std::wstring_view field) const
 
Value operator[] (const char *field) const
 
Value operator[] (const wchar_t *field) const
 
template<typename T , std::enable_if_t< std::is_integral_v< T >, std::nullptr_t > = nullptr>
ValueElementRef operator[] (T index) const
 1次元配列型データの要素を参照する
 
ValueElementRef at (std::size_t index) const
 1次元配列型データの要素を参照する
 
Value parent () const
 nameの最後のピリオドの前までを新しい名前とするField
 
const ValueonChange (std::function< void(Value)> callback) const
 値が変化したときに呼び出されるコールバックを設定
 
template<typename F , typename std::enable_if_t< std::is_invocable_v< F >, std::nullptr_t > = nullptr>
const ValueonChange (F callback) const
 値が変化したときに呼び出されるコールバックを設定
 
template<typename T >
void appendListener (T &&callback) const
 
const Valueset (double v) const
 値をセットする
 
const Valueset (std::vector< double > v) const
 vector型配列をセットする
 
template<typename R , typename traits::ArrayLikeTrait< R >::ArrayLike = traits::TraitOk>
const Valueset (const R &range) const
 配列型の値をセットする
 
const Valueresize (std::size_t size) const
 配列をセット、またはすでにsetされていればリサイズする
 
const Valuepush_back (double v) const
 値をセット、またはすでに配列がsetされていれば末尾に追加
 
std::size_t size () const
 配列データのサイズを取得
 
template<typename T >
const Valueoperator= (T &&v) const
 数値または配列をセットする
 
const Valueoperator= (std::vector< double > v) const
 vector型配列をセットする
 
const Valuerequest () const
 値をリクエストする
 
std::optional< double > tryGet () const
 値を返す
 
std::optional< std::vector< double > > tryGetVec () const
 値をvectorで返す
 
double get () const
 値を返す
 
std::vector< double > getVec () const
 値をvectorで返す
 
 operator double () const
 
 operator std::vector () const
 
bool exists () const
 このフィールドにデータが存在すればtrue
 
std::chrono::system_clock::time_point time () const
 syncの時刻を返す
 
const Valuefree () const
 値やリクエスト状態をクリア
 
const Valueoperator+= (double rhs) const
 
const Valueoperator-= (double rhs) const
 
const Valueoperator*= (double rhs) const
 
const Valueoperator/= (double rhs) const
 
const Valueoperator%= (std::int32_t rhs) const
 
const Valueoperator<<= (std::int32_t rhs) const
 
const Valueoperator>>= (std::int32_t rhs) const
 
const Valueoperator&= (std::int32_t rhs) const
 
const Valueoperator|= (std::int32_t rhs) const
 
const Valueoperator^= (std::int32_t rhs) const
 
const Valueoperator++ () const
 1足したものをsetした後自身を返す
 
double operator++ (int) const
 1足したものをsetし、足す前の値を返す
 
const Valueoperator-- () const
 1引いたものをsetした後自身を返す
 
double operator-- (int) const
 1引いたものをsetし、足す前の値を返す
 
template<typename T , typename std::enable_if_t< std::is_same_v< T, Value >, std::nullptr_t > = nullptr>
bool operator== (const T &other) const
 Valueの参照先を比較
 
template<typename T , typename std::enable_if_t< std::is_same_v< T, Value >, std::nullptr_t > = nullptr>
bool operator!= (const T &other) const
 
bool operator< (const Value &) const =delete
 
bool operator<= (const Value &) const =delete
 
bool operator> (const Value &) const =delete
 
bool operator>= (const Value &) const =delete
 
std::string lastName () const
 nameのうちピリオドで区切られた最後の部分を取り出す
 
template<typename Member_ = Member, bool = ::webcface::traits::assertCompleteMember < std::enable_if_t<std::is_same_v< Member_, Member >, Member_>>()>
Member_ member () const
 Memberを返す
 
const std::string & name () const
 field名を返す
 
const std::wstring & nameW () const
 field名を返す (wstring)
 

Protected Member Functions

std::shared_ptr< internal::ClientDatadataLock () const
 data_wをlockし、失敗したらruntime_errorを投げる
 
std::shared_ptr< internal::ClientDatasetCheck () 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)
 
Field operator[] (int index) const
 「(thisの名前).(index)」を新しい名前とするField
 
template<typename Value_ = Value, bool = ::webcface::traits::assertCompleteValue < std::enable_if_t<std::is_same_v< Value_, Value >, Value_>>()>
Value_ value (std::string_view field="") const
 
template<typename Value_ = Value, bool = ::webcface::traits::assertCompleteValue < std::enable_if_t<std::is_same_v< Value_, Value >, Value_>>()>
Value_ value (std::wstring_view field) const
 
template<typename Text_ = Text, bool = ::webcface::traits::assertCompleteText < std::enable_if_t<std::is_same_v< Text_, Text >, Text_>>()>
Text_ text (std::string_view field="") const
 
template<typename Text_ = Text, bool = ::webcface::traits::assertCompleteText < std::enable_if_t<std::is_same_v< Text_, Text >, Text_>>()>
Text_ text (std::wstring_view field) const
 
template<typename RobotModel_ = RobotModel, bool = ::webcface::traits::assertCompleteRobotModel < std::enable_if_t<std::is_same_v< RobotModel_, RobotModel >, RobotModel_>>()>
RobotModel_ robotModel (std::string_view field="") const
 
template<typename RobotModel_ = RobotModel, bool = ::webcface::traits::assertCompleteRobotModel < std::enable_if_t<std::is_same_v< RobotModel_, RobotModel >, RobotModel_>>()>
RobotModel_ robotModel (std::wstring_view field) const
 
template<typename Image_ = Image, bool = ::webcface::traits::assertCompleteImage < std::enable_if_t<std::is_same_v< Image_, Image >, Image_>>()>
Image_ image (std::string_view field="") const
 
template<typename Image_ = Image, bool = ::webcface::traits::assertCompleteImage < std::enable_if_t<std::is_same_v< Image_, Image >, Image_>>()>
Image_ image (std::wstring_view field) const
 
template<typename Func_ = Func, bool = ::webcface::traits::assertCompleteFunc < std::enable_if_t<std::is_same_v< Func_, Func >, Func_>>()>
Func_ func (std::string_view field="") const
 
template<typename Func_ = Func, bool = ::webcface::traits::assertCompleteFunc < std::enable_if_t<std::is_same_v< Func_, Func >, Func_>>()>
Func_ func (std::wstring_view field) const
 
template<typename FuncListener_ = FuncListener, bool = ::webcface::traits::assertCompleteFuncListener < std::enable_if_t<std::is_same_v< FuncListener_, FuncListener >, FuncListener_>>()>
FuncListener_ funcListener (std::string_view field="") const
 
template<typename FuncListener_ = FuncListener, bool = ::webcface::traits::assertCompleteFuncListener < std::enable_if_t<std::is_same_v< FuncListener_, FuncListener >, FuncListener_>>()>
FuncListener_ funcListener (std::wstring_view field) const
 
template<typename View_ = View, bool = ::webcface::traits::assertCompleteView < std::enable_if_t<std::is_same_v< View_, View >, View_>>()>
View_ view (std::string_view field="") const
 
template<typename View_ = View, bool = ::webcface::traits::assertCompleteView < std::enable_if_t<std::is_same_v< View_, View >, View_>>()>
View_ view (std::wstring_view field) const
 
template<typename Canvas3D_ = Canvas3D, bool = ::webcface::traits::assertCompleteCanvas3D < std::enable_if_t<std::is_same_v< Canvas3D_, Canvas3D >, Canvas3D_>>()>
Canvas3D_ canvas3D (std::string_view field="") const
 
template<typename Canvas3D_ = Canvas3D, bool = ::webcface::traits::assertCompleteCanvas3D < std::enable_if_t<std::is_same_v< Canvas3D_, Canvas3D >, Canvas3D_>>()>
Canvas3D_ canvas3D (std::wstring_view field) const
 
template<typename Canvas2D_ = Canvas2D, bool = ::webcface::traits::assertCompleteCanvas2D < std::enable_if_t<std::is_same_v< Canvas2D_, Canvas2D >, Canvas2D_>>()>
Canvas2D_ canvas2D (std::string_view field="") const
 
template<typename Canvas2D_ = Canvas2D, bool = ::webcface::traits::assertCompleteCanvas2D < std::enable_if_t<std::is_same_v< Canvas2D_, Canvas2D >, Canvas2D_>>()>
Canvas2D_ canvas2D (std::wstring_view field) const
 
template<typename Log_ = Log, bool = ::webcface::traits::assertCompleteLog < std::enable_if_t<std::is_same_v< Log_, Log >, Log_>>()>
Log_ log (std::string_view field="") const
 
template<typename Log_ = Log, bool = ::webcface::traits::assertCompleteLog < std::enable_if_t<std::is_same_v< Log_, Log >, Log_>>()>
Log_ log (std::wstring_view field) const
 
std::vector< Fieldchildren () const
 「(thisの名前).(追加の名前)」で公開されているデータのリスト
 
std::vector< FieldchildrenRecurse () const
 「(thisの名前).(追加の名前)」で公開されているデータのリスト(再帰)
 
bool hasChildren () const
 「(thisの名前).(追加の名前)」で公開されているデータが存在するかどうかを返す
 
template<typename Value_ = Value, bool = ::webcface::traits::assertCompleteValue < std::enable_if_t<std::is_same_v< Value_, Value >, Value_>>()>
std::vector< Value_ > valueEntries () const
 「(thisの名前).(追加の名前)」で公開されているvalueのリストを返す。
 
template<typename T , bool >
std::vector< T > valueEntries () const
 
template<typename Text_ = Text, bool = ::webcface::traits::assertCompleteText < std::enable_if_t<std::is_same_v< Text_, Text >, Text_>>()>
std::vector< Text_ > textEntries () const
 「(thisの名前).(追加の名前)」で公開されているtextのリストを返す。
 
template<typename T , bool >
std::vector< T > textEntries () const
 
template<typename RobotModel_ = RobotModel, bool = ::webcface::traits::assertCompleteRobotModel < std::enable_if_t<std::is_same_v< RobotModel_, RobotModel >, RobotModel_>>()>
std::vector< RobotModel_ > robotModelEntries () const
 「(thisの名前).(追加の名前)」で公開されているrobotModelのリストを返す。
 
template<typename T , bool >
std::vector< T > robotModelEntries () const
 
template<typename Func_ = Func, bool = ::webcface::traits::assertCompleteFunc < std::enable_if_t<std::is_same_v< Func_, Func >, Func_>>()>
std::vector< Func_ > funcEntries () const
 「(thisの名前).(追加の名前)」で公開されているfuncのリストを返す。
 
template<typename T , bool >
std::vector< T > funcEntries () const
 
template<typename View_ = View, bool = ::webcface::traits::assertCompleteView < std::enable_if_t<std::is_same_v< View_, View >, View_>>()>
std::vector< View_ > viewEntries () const
 「(thisの名前).(追加の名前)」で公開されているviewのリストを返す。
 
template<typename T , bool >
std::vector< T > viewEntries () const
 
template<typename Canvas2D_ = Canvas2D, bool = ::webcface::traits::assertCompleteCanvas2D < std::enable_if_t<std::is_same_v< Canvas2D_, Canvas2D >, Canvas2D_>>()>
std::vector< Canvas2D_ > canvas2DEntries () const
 「(thisの名前).(追加の名前)」で公開されているcanvas2Dのリストを返す。
 
template<typename T , bool >
std::vector< T > canvas2DEntries () const
 
template<typename Canvas3D_ = Canvas3D, bool = ::webcface::traits::assertCompleteCanvas3D < std::enable_if_t<std::is_same_v< Canvas3D_, Canvas3D >, Canvas3D_>>()>
std::vector< Canvas3D_ > canvas3DEntries () const
 「(thisの名前).(追加の名前)」で公開されているcanvas3Dのリストを返す。
 
template<typename T , bool >
std::vector< T > canvas3DEntries () const
 
template<typename Image_ = Image, bool = ::webcface::traits::assertCompleteImage < std::enable_if_t<std::is_same_v< Image_, Image >, Image_>>()>
std::vector< Image_ > imageEntries () const
 「(thisの名前).(追加の名前)」で公開されているimageのリストを返す。
 
template<typename T , bool >
std::vector< T > imageEntries () const
 
template<typename Log_ = Log, bool = ::webcface::traits::assertCompleteLog < std::enable_if_t<std::is_same_v< Log_, Log >, Log_>>()>
std::vector< Log_ > logEntries () const
 「(thisの名前).(追加の名前)」で公開されているlogのリストを返す。
 
template<typename T , bool >
std::vector< T > 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::ClientDatadata_w
 ClientDataの参照
 
SharedString member_
 メンバー名
 
SharedString field_
 フィールド名
 

Detailed Description

実数値またはその配列の送受信データを表すクラス

コンストラクタではなく Member::value(), Member::values(), Member::onValueEntry() を使って取得してください

Constructor & Destructor Documentation

◆ Value() [1/3]

Value ( )
default

◆ Value() [2/3]

Value ( const Field base)

◆ Value() [3/3]

Value ( const Field base,
const SharedString field 
)
inline

Member Function Documentation

◆ appendListener()

template<typename T >
void appendListener ( T &&  callback) const
inline
Deprecated:
ver1.11まではEventTarget::appendListener()でコールバックを追加できたが、 ver2.0からコールバックは1個のみになった。 互換性のため残しているがonChange()と同じ

◆ at()

ValueElementRef at ( std::size_t  index) const
inline

1次元配列型データの要素を参照する

Since
ver2.8

◆ canvas2D() [1/2]

template<typename Canvas2D_ = Canvas2D, bool = ::webcface::traits::assertCompleteCanvas2D < std::enable_if_t<std::is_same_v< Canvas2D_, Canvas2D >, Canvas2D_>>()>
Canvas2D_ canvas2D ( std::string_view  field = "") const
inlineinherited

◆ canvas2D() [2/2]

template<typename Canvas2D_ = Canvas2D, bool = ::webcface::traits::assertCompleteCanvas2D < std::enable_if_t<std::is_same_v< Canvas2D_, Canvas2D >, Canvas2D_>>()>
Canvas2D_ canvas2D ( std::wstring_view  field) const
inlineinherited

◆ canvas2DEntries() [1/2]

template<typename Canvas2D_ = Canvas2D, bool = ::webcface::traits::assertCompleteCanvas2D < std::enable_if_t<std::is_same_v< Canvas2D_, Canvas2D >, Canvas2D_>>()>
template std::vector< Canvas2D > canvas2DEntries< Canvas2D, true > ( ) const
inherited

「(thisの名前).(追加の名前)」で公開されているcanvas2Dのリストを返す。

Since
ver1.6
See also
childrenRecurse()

◆ canvas2DEntries() [2/2]

template<typename T , bool >
template std::vector< Canvas2D > canvas2DEntries< Canvas2D, true > ( ) const
inherited

◆ canvas3D() [1/2]

template<typename Canvas3D_ = Canvas3D, bool = ::webcface::traits::assertCompleteCanvas3D < std::enable_if_t<std::is_same_v< Canvas3D_, Canvas3D >, Canvas3D_>>()>
Canvas3D_ canvas3D ( std::string_view  field = "") const
inlineinherited

◆ canvas3D() [2/2]

template<typename Canvas3D_ = Canvas3D, bool = ::webcface::traits::assertCompleteCanvas3D < std::enable_if_t<std::is_same_v< Canvas3D_, Canvas3D >, Canvas3D_>>()>
Canvas3D_ canvas3D ( std::wstring_view  field) const
inlineinherited

◆ canvas3DEntries() [1/2]

template<typename Canvas3D_ = Canvas3D, bool = ::webcface::traits::assertCompleteCanvas3D < std::enable_if_t<std::is_same_v< Canvas3D_, Canvas3D >, Canvas3D_>>()>
template std::vector< Canvas3D > canvas3DEntries< Canvas3D, true > ( ) const
inherited

「(thisの名前).(追加の名前)」で公開されているcanvas3Dのリストを返す。

Since
ver1.6
See also
childrenRecurse()

◆ canvas3DEntries() [2/2]

template<typename T , bool >
template std::vector< Canvas3D > canvas3DEntries< Canvas3D, true > ( ) const
inherited

◆ child() [1/4]

Field child ( const SharedString field) const
inherited

◆ child() [2/4]

Value child ( int  index) const
inline
Since
ver1.11
Deprecated:
ver2.8〜

◆ child() [3/4]

Value child ( std::string_view  field) const
inline

「(thisの名前).(追加の名前)」を新しい名前とするField

◆ child() [4/4]

Value child ( std::wstring_view  field) const
inline

「(thisの名前).(追加の名前)」を新しい名前とするField (wstring)

Since
ver2.0

◆ children()

std::vector< Field > children ( ) const
inherited

「(thisの名前).(追加の名前)」で公開されているデータのリスト

Since
ver2.6
  • データ型を問わずすべてのデータを列挙する。
  • childrenRecurse() と異なり、 名前にさらにピリオドが含まれる場合はその前までの名前を返す。
  • 同名で複数のデータが存在する場合も1回のみカウントする。
See also
childrenRecurse(), hasChildren()

◆ childrenRecurse()

std::vector< Field > childrenRecurse ( ) const
inherited

「(thisの名前).(追加の名前)」で公開されているデータのリスト(再帰)

Since
ver2.6
  • データ型を問わずすべてのデータを列挙する。
  • 同名で複数のデータが存在する場合も1回のみカウントする。
See also
children(), hasChildren()

◆ dataLock()

std::shared_ptr< internal::ClientData > dataLock ( ) const
inherited

data_wをlockし、失敗したらruntime_errorを投げる

◆ exists()

bool exists ( ) const

このフィールドにデータが存在すればtrue

Since
ver2.1

tryGet() などとは違って、実際のデータを受信しない。 リクエストも送信しない。

◆ expired()

bool expired ( ) const
inherited

◆ free()

const Value & free ( ) const

値やリクエスト状態をクリア

◆ func() [1/2]

template<typename Func_ = Func, bool = ::webcface::traits::assertCompleteFunc < std::enable_if_t<std::is_same_v< Func_, Func >, Func_>>()>
Func_ func ( std::string_view  field = "") const
inlineinherited

◆ func() [2/2]

template<typename Func_ = Func, bool = ::webcface::traits::assertCompleteFunc < std::enable_if_t<std::is_same_v< Func_, Func >, Func_>>()>
Func_ func ( std::wstring_view  field) const
inlineinherited

◆ funcEntries() [1/2]

template<typename Func_ = Func, bool = ::webcface::traits::assertCompleteFunc < std::enable_if_t<std::is_same_v< Func_, Func >, Func_>>()>
template std::vector< Func > funcEntries< Func, true > ( ) const
inherited

「(thisの名前).(追加の名前)」で公開されているfuncのリストを返す。

Since
ver1.6
See also
childrenRecurse()

◆ funcEntries() [2/2]

template<typename T , bool >
template std::vector< Func > funcEntries< Func, true > ( ) const
inherited

◆ funcListener() [1/2]

template<typename FuncListener_ = FuncListener, bool = ::webcface::traits::assertCompleteFuncListener < std::enable_if_t<std::is_same_v< FuncListener_, FuncListener >, FuncListener_>>()>
FuncListener_ funcListener ( std::string_view  field = "") const
inlineinherited

◆ funcListener() [2/2]

template<typename FuncListener_ = FuncListener, bool = ::webcface::traits::assertCompleteFuncListener < std::enable_if_t<std::is_same_v< FuncListener_, FuncListener >, FuncListener_>>()>
FuncListener_ funcListener ( std::wstring_view  field) const
inlineinherited

◆ get()

double get ( ) const
inline

値を返す

◆ getVec()

std::vector< double > getVec ( ) const
inline

値をvectorで返す

◆ hasChildren()

bool hasChildren ( ) const
inherited

「(thisの名前).(追加の名前)」で公開されているデータが存在するかどうかを返す

Since
ver2.6
See also
children(), childrenRecurse()

◆ image() [1/2]

template<typename Image_ = Image, bool = ::webcface::traits::assertCompleteImage < std::enable_if_t<std::is_same_v< Image_, Image >, Image_>>()>
Image_ image ( std::string_view  field = "") const
inlineinherited

◆ image() [2/2]

template<typename Image_ = Image, bool = ::webcface::traits::assertCompleteImage < std::enable_if_t<std::is_same_v< Image_, Image >, Image_>>()>
Image_ image ( std::wstring_view  field) const
inlineinherited

◆ imageEntries() [1/2]

template<typename Image_ = Image, bool = ::webcface::traits::assertCompleteImage < std::enable_if_t<std::is_same_v< Image_, Image >, Image_>>()>
template std::vector< Image > imageEntries< Image, true > ( ) const
inherited

「(thisの名前).(追加の名前)」で公開されているimageのリストを返す。

Since
ver1.6
See also
childrenRecurse()

◆ imageEntries() [2/2]

template<typename T , bool >
template std::vector< Image > imageEntries< Image, true > ( ) const
inherited

◆ isSelf()

bool isSelf ( ) const
inherited

memberがselfならtrue

data_wがlockできなければruntime_errorを投げる

◆ lastName()

std::string lastName ( ) const
inline

nameのうちピリオドで区切られた最後の部分を取り出す

Since
ver1.11

◆ lastName8()

SharedString lastName8 ( ) const
protectedinherited

◆ lastNameW()

std::wstring lastNameW ( ) const
inlineinherited

nameのうちピリオドで区切られた最後の部分を取り出す (wstring)

Since
ver2.0

◆ log() [1/2]

template<typename Log_ = Log, bool = ::webcface::traits::assertCompleteLog < std::enable_if_t<std::is_same_v< Log_, Log >, Log_>>()>
Log_ log ( std::string_view  field = "") const
inlineinherited
Since
ver2.4

◆ log() [2/2]

template<typename Log_ = Log, bool = ::webcface::traits::assertCompleteLog < std::enable_if_t<std::is_same_v< Log_, Log >, Log_>>()>
Log_ log ( std::wstring_view  field) const
inlineinherited
Since
ver2.4

◆ logEntries() [1/2]

template<typename Log_ = Log, bool = ::webcface::traits::assertCompleteLog < std::enable_if_t<std::is_same_v< Log_, Log >, Log_>>()>
template std::vector< Log > logEntries< Log, true > ( ) const
inherited

「(thisの名前).(追加の名前)」で公開されているlogのリストを返す。

Since
ver2.4
See also
childrenRecurse()

◆ logEntries() [2/2]

template<typename T , bool >
template std::vector< Log > logEntries< Log, true > ( ) const
inherited

◆ member()

template<typename Member_ = Member, bool = ::webcface::traits::assertCompleteMember < std::enable_if_t<std::is_same_v< Member_, Member >, Member_>>()>
Member_ member ( ) const
inline

Memberを返す

◆ name()

const std::string & name ( ) const
inline

field名を返す

◆ nameW()

const std::wstring & nameW ( ) const
inline

field名を返す (wstring)

Since
ver2.0

◆ onChange() [1/2]

template<typename F , typename std::enable_if_t< std::is_invocable_v< F >, std::nullptr_t > = nullptr>
const Value & onChange ( callback) const
inline

値が変化したときに呼び出されるコールバックを設定

Since
ver2.0
Parameters
callback引数をとらない関数

◆ onChange() [2/2]

const Value & onChange ( std::function< void(Value)>  callback) const

値が変化したときに呼び出されるコールバックを設定

Since
ver2.0
Parameters
callbackValue型の引数(thisが渡される)を1つ取る関数

◆ operator double()

operator double ( ) const
inline

◆ operator std::vector()

operator std::vector ( ) const
inline

◆ operator!=() [1/3]

bool operator!= ( const Field other) const
inlineinherited

◆ operator!=() [2/3]

bool operator!= ( const FieldBase rhs) const
inlineinherited

◆ operator!=() [3/3]

template<typename T , typename std::enable_if_t< std::is_same_v< T, Value >, std::nullptr_t > = nullptr>
bool operator!= ( const T &  other) const
inline

◆ operator%=()

const Value & operator%= ( std::int32_t  rhs) const
inline

◆ operator&=()

const Value & operator&= ( std::int32_t  rhs) const
inline

◆ operator*=()

const Value & operator*= ( double  rhs) const
inline

◆ operator++() [1/2]

const Value & operator++ ( ) const
inline

1足したものをsetした後自身を返す

◆ operator++() [2/2]

double operator++ ( int  ) const
inline

1足したものをsetし、足す前の値を返す

◆ operator+=()

const Value & operator+= ( double  rhs) const
inline

◆ operator--() [1/2]

const Value & operator-- ( ) const
inline

1引いたものをsetした後自身を返す

◆ operator--() [2/2]

double operator-- ( int  ) const
inline

1引いたものをsetし、足す前の値を返す

◆ operator-=()

const Value & operator-= ( double  rhs) const
inline

◆ operator/=()

const Value & operator/= ( double  rhs) const
inline

◆ operator<()

bool operator< ( const Value ) const
delete

◆ operator<<=()

const Value & operator<<= ( std::int32_t  rhs) const
inline

◆ operator<=()

bool operator<= ( const Value ) const
delete

◆ operator=() [1/2]

const Value & operator= ( std::vector< double >  v) const
inline

vector型配列をセットする

Since
ver2.0.2

initializer_listを受け取るためのオーバーロード (ver1.11まで VectorOpt<double> として受け取っていたもの)

◆ operator=() [2/2]

template<typename T >
const Value & operator= ( T &&  v) const
inline

数値または配列をセットする

◆ operator==() [1/3]

bool operator== ( const Field other) const
inherited

◆ operator==() [2/3]

bool operator== ( const FieldBase rhs) const
inlineinherited

◆ operator==() [3/3]

template<typename T , typename std::enable_if_t< std::is_same_v< T, Value >, std::nullptr_t > = nullptr>
bool operator== ( const T &  other) const
inline

Valueの参照先を比較

Since
ver1.11

1.10まではValue同士を比較すると中の値が比較されていた。 大小の比較も同様に中の値で比較されると非自明な挙動になるのでdeleteしている。

◆ operator>()

bool operator> ( const Value ) const
delete

◆ operator>=()

bool operator>= ( const Value ) const
delete

◆ operator>>=()

const Value & operator>>= ( std::int32_t  rhs) const
inline

◆ operator[]() [1/6]

Value operator[] ( const char *  field) const
inline

operator[](long, const char *)と解釈されるのを防ぐための定義

Since
ver1.11

◆ operator[]() [2/6]

Value operator[] ( const wchar_t *  field) const
inline
Since
ver2.0

◆ operator[]() [3/6]

Field operator[] ( int  index) const
inlineinherited

「(thisの名前).(index)」を新しい名前とするField

Since
ver1.11
Deprecated:
ver2.8〜

◆ operator[]() [4/6]

Value operator[] ( std::string_view  field) const
inline

child()と同じ

Since
ver1.11

◆ operator[]() [5/6]

Value operator[] ( std::wstring_view  field) const
inline

child()と同じ

Since
ver2.0

◆ operator[]() [6/6]

template<typename T , std::enable_if_t< std::is_integral_v< T >, std::nullptr_t > = nullptr>
ValueElementRef operator[] ( index) const
inline

1次元配列型データの要素を参照する

Since
ver2.8
  • ver1.11〜2.7では operator[](int) は引数を文字列に変換したchildを返していた
  • Field::operator[] や他の型の operator[] (すべてver2.6でdeprecated) とは異なる挙動になる
See also
at()

◆ operator^=()

const Value & operator^= ( std::int32_t  rhs) const
inline

◆ operator|=()

const Value & operator|= ( std::int32_t  rhs) const
inline

◆ parent()

Value parent ( ) const
inline

nameの最後のピリオドの前までを新しい名前とするField

Since
ver1.11

◆ push_back()

const Value & push_back ( double  v) const

値をセット、またはすでに配列がsetされていれば末尾に追加

◆ request()

const Value & request ( ) const

値をリクエストする

Since
ver1.7

◆ resize()

const Value & resize ( std::size_t  size) const

配列をセット、またはすでにsetされていればリサイズする

Since
ver1.11

◆ robotModel() [1/2]

template<typename RobotModel_ = RobotModel, bool = ::webcface::traits::assertCompleteRobotModel < std::enable_if_t<std::is_same_v< RobotModel_, RobotModel >, RobotModel_>>()>
RobotModel_ robotModel ( std::string_view  field = "") const
inlineinherited

◆ robotModel() [2/2]

template<typename RobotModel_ = RobotModel, bool = ::webcface::traits::assertCompleteRobotModel < std::enable_if_t<std::is_same_v< RobotModel_, RobotModel >, RobotModel_>>()>
RobotModel_ robotModel ( std::wstring_view  field) const
inlineinherited

◆ robotModelEntries() [1/2]

template<typename RobotModel_ = RobotModel, bool = ::webcface::traits::assertCompleteRobotModel < std::enable_if_t<std::is_same_v< RobotModel_, RobotModel >, RobotModel_>>()>
template std::vector< RobotModel > robotModelEntries< RobotModel, true > ( ) const
inherited

「(thisの名前).(追加の名前)」で公開されているrobotModelのリストを返す。

Since
ver1.6
See also
childrenRecurse()

◆ robotModelEntries() [2/2]

template<typename T , bool >
template std::vector< RobotModel > robotModelEntries< RobotModel, true > ( ) const
inherited

◆ set() [1/3]

template<typename R , typename traits::ArrayLikeTrait< R >::ArrayLike = traits::TraitOk>
const Value & set ( const R &  range) const
inline

配列型の値をセットする

Since
ver1.7 (set(VectorOpt(std::vector<T>)) を置き換え)
  • R::value_type がdoubleに変換可能な型Rならなんでもok
  • (ver2.5〜) std::begin(), std::end() が使えてその値がdoubleに変換可能ならなんでもok

◆ set() [2/3]

const Value & set ( double  v) const

値をセットする

ver1.11〜: vが配列でなく、parent()の配列データが利用可能ならその要素をセットする

◆ set() [3/3]

const Value & set ( std::vector< double >  v) const

vector型配列をセットする

Since
ver2.0 (set(VectorOpt<double>) を置き換え)

◆ setCheck()

std::shared_ptr< internal::ClientData > setCheck ( ) const
inherited

data_wをlockし、memberがselfではなければinvalid_argumentを投げる

◆ size()

std::size_t size ( ) const

配列データのサイズを取得

Since
ver2.8
  • 自身のデータの場合、現在setされているデータのサイズ、またはセットされていなければ0
  • 他のmemberのデータの場合、すでに受信したデータのサイズ
    • 受信していない場合は、get()やtryGet()と同様にリクエストを送り、0を返す
  • 配列でない数値データ1つの場合、1を返す

◆ text() [1/2]

template<typename Text_ = Text, bool = ::webcface::traits::assertCompleteText < std::enable_if_t<std::is_same_v< Text_, Text >, Text_>>()>
Text_ text ( std::string_view  field = "") const
inlineinherited

◆ text() [2/2]

template<typename Text_ = Text, bool = ::webcface::traits::assertCompleteText < std::enable_if_t<std::is_same_v< Text_, Text >, Text_>>()>
Text_ text ( std::wstring_view  field) const
inlineinherited

◆ textEntries() [1/2]

template<typename Text_ = Text, bool = ::webcface::traits::assertCompleteText < std::enable_if_t<std::is_same_v< Text_, Text >, Text_>>()>
template std::vector< Text > textEntries< Text, true > ( ) const
inherited

「(thisの名前).(追加の名前)」で公開されているtextのリストを返す。

Since
ver1.6
See also
childrenRecurse()

◆ textEntries() [2/2]

template<typename T , bool >
template std::vector< Text > textEntries< Text, true > ( ) const
inherited

◆ time()

std::chrono::system_clock::time_point time ( ) const

syncの時刻を返す

Deprecated:
1.7で Member::syncTime() に変更

◆ tryGet()

std::optional< double > tryGet ( ) const

値を返す

ver1.11〜 parent()の配列データが利用可能ならその要素を返す

◆ tryGetVec()

std::optional< std::vector< double > > tryGetVec ( ) const

値をvectorで返す

◆ value() [1/2]

template<typename Value_ = Value, bool = ::webcface::traits::assertCompleteValue < std::enable_if_t<std::is_same_v< Value_, Value >, Value_>>()>
Value_ value ( std::string_view  field = "") const
inlineinherited

◆ value() [2/2]

template<typename Value_ = Value, bool = ::webcface::traits::assertCompleteValue < std::enable_if_t<std::is_same_v< Value_, Value >, Value_>>()>
Value_ value ( std::wstring_view  field) const
inlineinherited

◆ valueEntries() [1/2]

template<typename Value_ = Value, bool = ::webcface::traits::assertCompleteValue < std::enable_if_t<std::is_same_v< Value_, Value >, Value_>>()>
template std::vector< Value > valueEntries< Value, true > ( ) const
inherited

「(thisの名前).(追加の名前)」で公開されているvalueのリストを返す。

Since
ver1.6
See also
childrenRecurse()

◆ valueEntries() [2/2]

template<typename T , bool >
template std::vector< Value > valueEntries< Value, true > ( ) const
inherited

◆ view() [1/2]

template<typename View_ = View, bool = ::webcface::traits::assertCompleteView < std::enable_if_t<std::is_same_v< View_, View >, View_>>()>
View_ view ( std::string_view  field = "") const
inlineinherited

◆ view() [2/2]

template<typename View_ = View, bool = ::webcface::traits::assertCompleteView < std::enable_if_t<std::is_same_v< View_, View >, View_>>()>
View_ view ( std::wstring_view  field) const
inlineinherited

◆ viewEntries() [1/2]

template<typename View_ = View, bool = ::webcface::traits::assertCompleteView < std::enable_if_t<std::is_same_v< View_, View >, View_>>()>
template std::vector< View > viewEntries< View, true > ( ) const
inherited

「(thisの名前).(追加の名前)」で公開されているviewのリストを返す。

Since
ver1.6
See also
childrenRecurse()

◆ viewEntries() [2/2]

template<typename T , bool >
template std::vector< View > viewEntries< View, true > ( ) const
inherited

Member Data Documentation

◆ data_w

std::weak_ptr<internal::ClientData> data_w
inherited

ClientDataの参照

ClientData内に保持するクラスもあるので循環参照を避けるためweak_ptr

◆ field_

SharedString field_
inherited

フィールド名

Memberなどフィールド名が不要なクラスでは使用しない

◆ member_

SharedString member_
inherited

メンバー名


The documentation for this class was generated from the following files: