BitExtractOperator Class
(Automation::BitExtractOperator)The BitExtractOperator extracts a bit from some Source value (default input value). More...
Header: | #include <BitExtractOperator.h> |
Inherits: | CDPOperator<T> |
Public Functions
BitExtractOperator(const CDPPropertyBase &in) | |
virtual | ~BitExtractOperator() |
Reimplemented Public Functions
- 18 public functions inherited from CDPOperator
- 17 public functions inherited from CDPOperatorBase
- 46 public functions inherited from CDPBaseObject
- 26 public functions inherited from CDP::StudioAPI::CDPNode
- 22 public functions inherited from CDP::StudioAPI::ICDPNode
Additional Inherited Members
- 1 public variable inherited from CDPOperatorBase
- 1 static public member inherited from CDPBaseObject
- 1 protected function inherited from CDP::StudioAPI::CDPNode
- 8 protected variables inherited from CDPOperator
- 5 protected variables inherited from CDPOperatorBase
- 11 protected variables inherited from CDPBaseObject
Detailed Description
The BitExtractOperator extracts a bit from some Source value (default input value).
A BitExtractOperator sets output value from Source bit given by BitNo.
Pseudocode for this operator:
Out = (bool)( Source & (1<<BitNo) );
Arguments
Name | Description |
---|---|
BitNo | Zero-based index of the bit to extract from source. |
Source (default input) | Source from where the bit is extracted. |
Out (default output) | Is set true based on the value of the extracted bit pointed by BitNo. |
When operator is used inside a signal its default input is automatically tied to signal's InternalValue or previous operator's output. Its default output is automatically tied to next operator's input or to signal's Value. See also CDP Operator Usage In CDP Signals.
Actual Processing Code of the BitExtractOperator
unsigned int BitExtractOperator<T>::Process() { if (!d->bitNo) return STATUS_ERROR; this->m_output = ((static_cast<uint64_t>(this->m_input) & static_cast<uint64_t>(1 << static_cast<char>(*(d->bitNo)))) != 0); return STATUS_OK; }
See also BitPackOperator and Argument.
Member Function Documentation
BitExtractOperator::BitExtractOperator(const CDPPropertyBase &in)
Constructs an BitExtractOperator with input in.
[virtual]
BitExtractOperator::~BitExtractOperator()
Destructs the BitExtractOperator
[override virtual]
void BitExtractOperator::Configure(XMLPrimitive *pObjectXML)
Reimplemented from CDPBaseObject::Configure().
[override virtual]
unsigned int BitExtractOperator::Process()
Reimplemented from CDPOperatorBase::Process().
Returns STATUS_OK.
Get started with CDP Studio today
Let us help you take your great ideas and turn them into the products your customer will love.