Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
User name:
Password:
Save Password
Forgot your password?

 All Forums
 Visual Assist
 Technical Support
 1526:Implement method, doesn't work with operators
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

drzoom
Ketchup Master

Switzerland
57 Posts

Posted - Jul 11 2006 :  10:10:53 AM  Show Profile  Reply with Quote
The "Implement method" function doesn't work with operators. Look at this example.


#pragma once

namespace airplane {
namespace crashs {

class Grounding
{
public:
	Grounding();
	~Grounding();
public:
	const Grounding& operator=( const Grounding& assign );
	bool operator==( const Grounding& compare ) const;
	bool operator!=( const Grounding& compare ) const;
	int operator-( const Grounding& minus ) const;
	const Grounding& operator+=( const Grounding& plus );
	const Grounding& operator-=( const Grounding& minus );
	const Grounding& operator/=( const Grounding& divide );
	const Grounding& operator%=( const Grounding& modulo );
	const Grounding& operator*=( const Grounding& multiply );
	const Grounding& operator|=( const Grounding& or );
	const Grounding& operator&=( const Grounding& and );
	const Grounding& operator--();
	const Grounding& operator<<( const std::string& text );
};

}
}


The result is:


const Grounding& airplane::crashs::Grounding::=( const Grounding& assign */ ) 
{

}
bool airplane::crashs::Grounding::==( const Grounding& compare */ ) const
{

}
bool airplane::crashs::Grounding::!=( const Grounding& compare */ ) const
{

}
int airplane::crashs::Grounding::( const Grounding& minus ) const
{

}
const Grounding& airplane::crashs::Grounding::+=( const Grounding& plus */ ) 
{

}
const Grounding& airplane::crashs::Grounding::-=( const Grounding& minus */ ) 
{

}
const Grounding& airplane::crashs::Grounding::/=( const Grounding& divide */ ) 
{

}
const Grounding& airplane::crashs::Grounding::%=( const Grounding& modulo */ ) 
{

}
const Grounding& airplane::crashs::Grounding::*=( const Grounding& multiply */ ) 
{

}
const Grounding& airplane::crashs::Grounding::|=( const Grounding& or */ ) 
{

}
const Grounding& airplane::crashs::Grounding::&=( const Grounding& and */ ) 
{

}
const Grounding& airplane::crashs::Grounding::-() 
{

}
const Grounding& airplane::crashs::Grounding::<<( const std::string& text ) 
{

}


All operators are affected from this problem. But most operators in this example resulting IMO into two bugs. The first is that the "operator" keyword is missing, the second is a processing problem with default arguments. I think somewhere you matching the "=" character, but because the "=" ist contained in the method name, something goes wrong.

best regards
Tobias

feline
Whole Tomato Software

United Kingdom
19023 Posts

Posted - Jul 11 2006 :  6:43:39 PM  Show Profile  Reply with Quote
thank you for the clear report

case=1654

zen is the art of being at one with the two'ness
Go to Top of Page

support
Whole Tomato Software

5566 Posts

Posted - Aug 12 2006 :  11:21:20 PM  Show Profile  Reply with Quote
Case 1654 fixed in build 1532.
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000