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