HPS::PortfolioControl Class Reference

#include <hps.h>

Inheritance diagram for HPS::PortfolioControl:
HPS::Control HPS::Object

Public Member Functions

size_t GetCount () const
 
HPS::Type ObjectType () const
 
PortfolioControloperator= (PortfolioControl &&in_that)
 
PortfolioControloperator= (PortfolioControl const &in_that)
 
bool Pop ()
 
bool Pop (PortfolioKey &out_portfolio)
 
 PortfolioControl (SegmentKey &in_seg)
 
 PortfolioControl (PortfolioControl const &in_that)
 
 PortfolioControl (PortfolioControl &&in_that)
 
PortfolioControlPush (PortfolioKey const &in_portfolio)
 
PortfolioControlSet (PortfolioKey const &in_portfolio)
 
PortfolioControlSet (PortfolioKeyArray const &in_portfolios)
 
PortfolioControlSet (size_t in_count, PortfolioKey const in_portfolios[])
 
bool Show (PortfolioKeyArray &out_portfolios) const
 
bool ShowTop (PortfolioKey &out_portfolio) const
 
virtual HPS::Type Type () const
 
PortfolioControlUnsetEverything ()
 
PortfolioControlUnsetTop ()
 
 ~PortfolioControl ()
 
- Public Member Functions inherited from HPS::Object
virtual bool Empty () const
 
intptr_t GetClassID () const
 
intptr_t GetInstanceID () const
 
bool HasType (HPS::Type in_mask) const
 
 Object (Object const &that)
 
 Object (Object &&in_that)
 
Objectoperator= (Object const &other_object)
 
Objectoperator= (Object &&in_that)
 
virtual void Reset ()
 

Static Public Attributes

static const HPS::Type staticType = HPS::Type::PortfolioControl
 
- Static Public Attributes inherited from HPS::Control
static const HPS::Type staticType = HPS::Type::Control
 
- Static Public Attributes inherited from HPS::Object
static const HPS::Type staticType = HPS::Type::None
 

Additional Inherited Members

- Static Public Member Functions inherited from HPS::Object
template<typename T >
static intptr_t ClassID ()
 
- Protected Member Functions inherited from HPS::Control
 Control (Control &&in_that)
 
Controloperator= (Control &&in_that)
 

Detailed Description

The PortfolioControl class is a smart pointer that is tied to a database object. Controls are used for manipulating settings within the database.

Constructor & Destructor Documentation

◆ PortfolioControl() [1/3]

HPS::PortfolioControl::PortfolioControl ( SegmentKey in_seg)
explicit

Initializes a control tied to the segment in_seg.

◆ PortfolioControl() [2/3]

HPS::PortfolioControl::PortfolioControl ( PortfolioControl const &  in_that)

Initializes a control tied to the same object as in_that.

◆ PortfolioControl() [3/3]

HPS::PortfolioControl::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_thatAn rvalue reference to a PortfolioControl to take the impl from.

◆ ~PortfolioControl()

HPS::PortfolioControl::~PortfolioControl ( )

Releases a reference to the database object this control is tied to.

Member Function Documentation

◆ GetCount()

size_t HPS::PortfolioControl::GetCount ( ) const

Returns the number of portfolios in use here.

◆ ObjectType()

HPS::Type HPS::PortfolioControl::ObjectType ( ) const
inlinevirtual

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.

Reimplemented from HPS::Control.

◆ operator=() [1/2]

PortfolioControl& HPS::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_thatAn rvalue reference to a PortfolioControl to take the impl from.
Returns
A reference to this PortfolioControl.

◆ operator=() [2/2]

PortfolioControl& HPS::PortfolioControl::operator= ( PortfolioControl const &  in_that)

Share the underlying smart-pointer of the PortfolioControl source.

Parameters
in_thatThe PortfolioControl source of the assignment.
Returns
A reference to this PortfolioControl.

◆ Pop() [1/2]

bool HPS::PortfolioControl::Pop ( )

Removes the top portfolio from the portfolio use stack.

Returns
true if a portfolio was present, false otherwise.

◆ Pop() [2/2]

bool HPS::PortfolioControl::Pop ( PortfolioKey out_portfolio)

Removes the top portfolio from the portfolio use stack and gives information about it to the user.

Parameters
out_portfolioThe source portfolio.
Returns
true if a portfolio was present, false otherwise.

◆ Push()

PortfolioControl& HPS::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_portfolioThe portfolio to push to the top of the portfolio use stack.
Returns
A reference to this object.

◆ Set() [1/3]

PortfolioControl& HPS::PortfolioControl::Set ( PortfolioKey const &  in_portfolio)

Sets a portfolio as the only portfolio in use, replacing any existing portfolios in use.

Parameters
in_portfolioA portfolio containing definitions that should be imported.
Returns
A reference to this object.

◆ Set() [2/3]

PortfolioControl& HPS::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_portfoliosAn array of source portfolios to be used.
Returns
A reference to this object.

◆ Set() [3/3]

PortfolioControl& HPS::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_countThe length of the source array.
in_portfoliosAn array of source portfolios to be used.
Returns
A reference to this object.

◆ Show()

bool HPS::PortfolioControl::Show ( PortfolioKeyArray out_portfolios) const

Shows all portfolios in use on this segment.

Parameters
out_portfoliosKeys to all portfolios in use on this segment.
Returns
true if any portfolio was present, false otherwise.

◆ ShowTop()

bool HPS::PortfolioControl::ShowTop ( PortfolioKey out_portfolio) const

Shows the top portfolio on the portfolio use stack.

Parameters
out_portfolioThe portfolio on top of the stack.
Returns
true if a portfolio was present, false otherwise.

◆ Type()

virtual HPS::Type HPS::PortfolioControl::Type ( ) const
inlinevirtual

This function returns the true type of the underlying object. This function is useful for finding the type of smart pointer objects that have been cast to more generic types.

Warning
This function must synchronize the database (by waiting for all pending database operations to complete) in order to know the type status of this object with certainty. Therefore this function can negatively impact performance. You should vigorously avoid using this function in high-traffic or peformance-critical areas of your code.
Returns
The true type of the object in question.

Reimplemented from HPS::Control.

◆ UnsetEverything()

PortfolioControl& HPS::PortfolioControl::UnsetEverything ( )

Removes all portfolios from the portfolio use stack.

Returns
A reference to this object.

◆ UnsetTop()

PortfolioControl& HPS::PortfolioControl::UnsetTop ( )

Removes the top portfolio from the portfolio use stack.

Returns
A reference to this object.

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