[C++-sig] Wrapping operator=

James Gunn james.gunn at communisis-dm.co.uk
Tue May 18 12:06:06 CEST 2004


*** Before acting on this e-mail or opening any attachment you are advised to read the disclaimer at the end of this e-mail ***

Hi,
 
I'm trying to wrap a very simple class (see below) that has operator= but I
can't seem to get it right. Can anyone help please?
 
class Msg
{    
public:
   Msg() : m_msg() {}
   ~Msg() {}
 
   Msg& operator= (const std::string& msg)
   {
       m_msg = msg;
       return *this;
   }
 
   std::string Get() const { return m_msg; }
        
        void Set( const std::string& msg ) { m_msg = msg; }
 
private:
    std::string m_msg;
};
 
I want to be able to allow users to work with the Msg class (from Python) as
follows:
msg = "Hello World"
 
However, at the moment I've had to use add_property to wrap Get & Set which
means users then have to do the following:
msg.value = "Hello World"
 
Anyone got any ideas of how I can do this? 
 
Thanks in advance.
 
James Gunn
Software Developer
--LongSig
 
Computer Bureau
Communisis DM
Manston Lane
Crossgates
Leeds
LS15 8AH
 
Telephone +44 (0)113 225 5306
Fax       +44 (0)113 225 5921
Email     James.Gunn at communisis-dm.co.uk
<mailto:James.Gunn at communisis-dm.co.uk> 
 


**********************************************************************
Please note: This e-mail and its attachments contain only the opinions of the sender and do not necessarily reflect the policy(s) of the communisis group in general. 

Employees of the communisis group are required not to make any defamatory statements and not to infringe or authorise any infringement of copyright or any other legal right by e-mail. Any such communication is therefore outside the scope of employment of the individual concerned. The communisis group will not accept any liability in respect of such a communication.

Confidentiality: This e-mail and any attachments, together with their contents, are confidential unless otherwise explicitly stated in writing by the sender of this e-mail and are for the intended recipient only. If they have come to you in error you must not take any action in respect of them, which includes but is not limited to reproducing, sending or storing them, other than to notifying the sender immediately of the mistake, and deleting the e-mail, any attachments and any reproductions made by replying to it.

Viruses: This e-mail and any attachments have been scanned for viruses but we cannot guarantee that they are virus free. The recipient should check this e-mail and any attachments for viruses. The communisis group accepts no responsibility for any damage caused by any virus transmitted by this e-mail or any of its attachments. In the event of any unauthorised copying or forwarding, the recipient will be required to indemnify the communisis group against any claim for loss or damage caused by any viruses or otherwise.
**********************************************************************



______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
______________________________________________________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/cplusplus-sig/attachments/20040518/6ae3a255/attachment.htm>


More information about the Cplusplus-sig mailing list