OpenPit C++ SDK
C++17 SDK for the OpenPit pre-trade risk engine
openpit::pretrade::PolicyAdapter< ClientPolicy, ClientOrder, ClientReport, mode > Class Template Reference

Public Member Functions

template<typename P = ClientPolicy, std::enable_if_t< detail::HasAdjustment< P >::value, int > = 0>
PolicyAccountAdjustmentResult ApplyAccountAdjustment (const ::openpit::accountadjustment::Context &context, ::openpit::param::AccountId accountId, const ::openpit::accountadjustment::AccountAdjustment &adjustment, ::openpit::tx::Mutations &mutations, AccountOutcomes &outcomes) const
 
template<typename P = ClientPolicy, std::enable_if_t< detail::HasReportLegacy< P, ClientReport >::value, int > = 0>
bool ApplyExecutionReport (const openpit::ExecutionReport &report) const
 
template<typename P = ClientPolicy, std::enable_if_t< detail::HasReportFull< P, ClientReport >::value||detail::HasReportLegacy< P, ClientReport >::value, int > = 0>
std::vector<::openpit::accounts::AccountBlock > ApplyExecutionReport (const PostTradeContext &context, const openpit::ExecutionReport &report, PostTradeAdjustments &adjustments, PostTradePnls &pnls) const
 
template<typename P = ClientPolicy, std::enable_if_t< detail::HasStart< P, ClientOrder >::value, int > = 0>
std::optional< Reject > CheckPreTradeStart (const openpit::Order &order) const
 
template<typename P = ClientPolicy, std::enable_if_t< detail::HasStartDryRun< P, ClientOrder >::value, int > = 0>
std::optional< Reject > CheckPreTradeStartDryRun (const openpit::Order &order) const
 
std::string_view Name () const noexcept
 
void PerformPreTradeCheck (const Context &context, ::openpit::tx::Mutations &mutations, Result &result, PolicyDecision &decision) const
 
void PerformPreTradeCheck (const Context &context, PolicyDecision &decision) const
 
template<typename P = ClientPolicy, std::enable_if_t< detail::HasMainDryRunFull< P, ClientOrder >::value||detail::HasMainDryRunLegacy< P, ClientOrder >::value, int > = 0>
void PerformPreTradeCheckDryRun (const Context &context, ::openpit::tx::Mutations &mutations, Result &result, PolicyDecision &decision) const
 
 PolicyAdapter (ClientPolicy policy)
 

Constructor & Destructor Documentation

◆ PolicyAdapter()

template<typename ClientPolicy , typename ClientOrder , typename ClientReport , CastMode mode>
openpit::pretrade::PolicyAdapter< ClientPolicy, ClientOrder, ClientReport, mode >::PolicyAdapter ( ClientPolicy  policy)
inlineexplicit

Member Function Documentation

◆ ApplyAccountAdjustment()

template<typename ClientPolicy , typename ClientOrder , typename ClientReport , CastMode mode>
template<typename P = ClientPolicy, std::enable_if_t< detail::HasAdjustment< P >::value, int > = 0>
PolicyAccountAdjustmentResult openpit::pretrade::PolicyAdapter< ClientPolicy, ClientOrder, ClientReport, mode >::ApplyAccountAdjustment ( const ::openpit::accountadjustment::Context &  context,
::openpit::param::AccountId  accountId,
const ::openpit::accountadjustment::AccountAdjustment &  adjustment,
::openpit::tx::Mutations &  mutations,
AccountOutcomes &  outcomes 
) const
inline

◆ ApplyExecutionReport() [1/2]

template<typename ClientPolicy , typename ClientOrder , typename ClientReport , CastMode mode>
template<typename P = ClientPolicy, std::enable_if_t< detail::HasReportLegacy< P, ClientReport >::value, int > = 0>
bool openpit::pretrade::PolicyAdapter< ClientPolicy, ClientOrder, ClientReport, mode >::ApplyExecutionReport ( const openpit::ExecutionReport &  report) const
inline

◆ ApplyExecutionReport() [2/2]

template<typename ClientPolicy , typename ClientOrder , typename ClientReport , CastMode mode>
template<typename P = ClientPolicy, std::enable_if_t< detail::HasReportFull< P, ClientReport >::value||detail::HasReportLegacy< P, ClientReport >::value, int > = 0>
std::vector<::openpit::accounts::AccountBlock> openpit::pretrade::PolicyAdapter< ClientPolicy, ClientOrder, ClientReport, mode >::ApplyExecutionReport ( const PostTradeContext &  context,
const openpit::ExecutionReport &  report,
PostTradeAdjustments &  adjustments,
PostTradePnls &  pnls 
) const
inline

◆ CheckPreTradeStart()

template<typename ClientPolicy , typename ClientOrder , typename ClientReport , CastMode mode>
template<typename P = ClientPolicy, std::enable_if_t< detail::HasStart< P, ClientOrder >::value, int > = 0>
std::optional<Reject> openpit::pretrade::PolicyAdapter< ClientPolicy, ClientOrder, ClientReport, mode >::CheckPreTradeStart ( const openpit::Order &  order) const
inline

◆ CheckPreTradeStartDryRun()

template<typename ClientPolicy , typename ClientOrder , typename ClientReport , CastMode mode>
template<typename P = ClientPolicy, std::enable_if_t< detail::HasStartDryRun< P, ClientOrder >::value, int > = 0>
std::optional<Reject> openpit::pretrade::PolicyAdapter< ClientPolicy, ClientOrder, ClientReport, mode >::CheckPreTradeStartDryRun ( const openpit::Order &  order) const
inline

◆ Name()

template<typename ClientPolicy , typename ClientOrder , typename ClientReport , CastMode mode>
std::string_view openpit::pretrade::PolicyAdapter< ClientPolicy, ClientOrder, ClientReport, mode >::Name ( ) const
inlinenoexcept

◆ PerformPreTradeCheck() [1/2]

template<typename ClientPolicy , typename ClientOrder , typename ClientReport , CastMode mode>
void openpit::pretrade::PolicyAdapter< ClientPolicy, ClientOrder, ClientReport, mode >::PerformPreTradeCheck ( const Context &  context,
::openpit::tx::Mutations &  mutations,
Result &  result,
PolicyDecision &  decision 
) const
inline

◆ PerformPreTradeCheck() [2/2]

template<typename ClientPolicy , typename ClientOrder , typename ClientReport , CastMode mode>
void openpit::pretrade::PolicyAdapter< ClientPolicy, ClientOrder, ClientReport, mode >::PerformPreTradeCheck ( const Context &  context,
PolicyDecision &  decision 
) const
inline

◆ PerformPreTradeCheckDryRun()

template<typename ClientPolicy , typename ClientOrder , typename ClientReport , CastMode mode>
template<typename P = ClientPolicy, std::enable_if_t< detail::HasMainDryRunFull< P, ClientOrder >::value||detail::HasMainDryRunLegacy< P, ClientOrder >::value, int > = 0>
void openpit::pretrade::PolicyAdapter< ClientPolicy, ClientOrder, ClientReport, mode >::PerformPreTradeCheckDryRun ( const Context &  context,
::openpit::tx::Mutations &  mutations,
Result &  result,
PolicyDecision &  decision 
) const
inline