PortfolioControl

class 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