PortfolioControl
-
class HPS::PortfolioControl : public HPS::Control
The PortfolioControl class is a smart pointer that is tied to a database object. Controls are used for manipulating settings within the database.
Public Functions
-
size_t GetCount() const
Returns the number of portfolios in use here.
-
inline virtual HPS::Type ObjectType() const
This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).
- Returns
The declared type of the object in question, which may differ from the true, underlying type.
-
PortfolioControl &operator=(PortfolioControl &&in_that)
The move assignment operator transfers the underlying impl of the rvalue reference to this PortfolioControl thereby avoiding a copy.
- Parameters
in_that – An rvalue reference to a PortfolioControl to take the impl from.
- Returns
A reference to this PortfolioControl.
-
PortfolioControl &operator=(PortfolioControl const &in_that)
Share the underlying smart-pointer of the PortfolioControl source.
- Parameters
in_that – The PortfolioControl source of the assignment.
- Returns
A reference to this PortfolioControl.
-
bool Pop()
Removes the top portfolio from the portfolio use stack.
- Returns
true if a portfolio was present, false otherwise.
-
bool Pop(PortfolioKey &out_portfolio)
Removes the top portfolio from the portfolio use stack and gives information about it to the user.
- Parameters
out_portfolio – The source portfolio.
- Returns
true if a portfolio was present, false otherwise.
-
PortfolioControl(PortfolioControl &&in_that)
The move constructor creates a PortfolioControl by transferring the underlying impl of the rvalue reference to this StyleControl thereby avoiding a copy and allocation.
- Parameters
in_that – An rvalue reference to a PortfolioControl to take the impl from.
-
PortfolioControl(PortfolioControl const &in_that)
Initializes a control tied to the same object as in_that.
-
explicit PortfolioControl(SegmentKey &in_seg)
Initializes a control tied to the segment in_seg.
-
PortfolioControl &Push(PortfolioKey const &in_portfolio)
Adds a portfolio to the top of the portfolio use stack. Existing portfolios in use are unmodified but portfolios on top take precedence if there are conflicting definitions.
- Parameters
in_portfolio – The portfolio to push to the top of the portfolio use stack.
- Returns
A reference to this object.
-
PortfolioControl &Set(PortfolioKey const &in_portfolio)
Sets a portfolio as the only portfolio in use, replacing any existing portfolios in use.
- Parameters
in_portfolio – A portfolio containing definitions that should be imported.
- Returns
A reference to this object.
-
PortfolioControl &Set(PortfolioKeyArray const &in_portfolios)
Sets a collection of portfolios as the only portfolios in use, replacing any existing portfolios in use.
- Parameters
in_portfolios – An array of source portfolios to be used.
- Returns
A reference to this object.
-
PortfolioControl &Set(size_t in_count, PortfolioKey const in_portfolios[])
Sets a collection of portfolios as the only portfolios in use, replacing any existing portfolios in use.
- Parameters
in_count – The length of the source array.
in_portfolios – An array of source portfolios to be used.
- Returns
A reference to this object.
-
bool Show(PortfolioKeyArray &out_portfolios) const
Shows all portfolios in use on this segment.
- Parameters
out_portfolios – Keys to all portfolios in use on this segment.
- Returns
true if any portfolio was present, false otherwise.
-
bool ShowTop(PortfolioKey &out_portfolio) const
Shows the top portfolio on the portfolio use stack.
- Parameters
out_portfolio – The portfolio on top of the stack.
- Returns
true if a portfolio was present, false otherwise.
-
PortfolioControl &UnsetEverything()
Removes all portfolios from the portfolio use stack.
- Returns
A reference to this object.
-
PortfolioControl &UnsetTop()
Removes the top portfolio from the portfolio use stack.
- Returns
A reference to this object.
-
~PortfolioControl()
Releases a reference to the database object this control is tied to.
Public Static Attributes
-
static const HPS::Type staticType = HPS::Type::PortfolioControl
-
size_t GetCount() const