I’ve derived a class from error_category to categorize errors associated with my class.  Elsewhere, I want to test to see if an error code I’ve gotten (from an exception) is one of those, or not.  A line like

          if (X.code().category != mycategory) ...

should do the trick.  ‘mycategory’ is the same object used to create error codes in my class: a single instance of the derived error_category class.

 

However, this gives ambiguities in matching the operator.

 

This makes it quite unfriendly to use.  I have to cast the right-hand-side to the base class reference, for example.

 

If I reversed the arguments, the list of possible matches the compiler mentioned did not even include the one I wanted.

 

As this is a TR2 candidate, I think such rough edges should be examined and avoided.

 

--John

 

 

 

 

 


TradeStation Group, Inc. is a publicly-traded holding company (NASDAQ GS: TRAD) of three operating subsidiaries, TradeStation Securities, Inc. (Member NYSE, FINRA, SIPC and NFA), TradeStation Technologies, Inc., a trading software and subscription company, and TradeStation Europe Limited, a United Kingdom, FSA-authorized introducing brokerage firm. None of these companies provides trading or investment advice, recommendations or endorsements of any kind. The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer.   ­­