Exceptional coding style

Mehrdad wfunction at hotmail.com
Wed Jan 16 10:42:36 PST 2013


On Wednesday, 16 January 2013 at 18:38:21 UTC, Mehrdad wrote:
> On Wednesday, 16 January 2013 at 11:00:48 UTC, mist wrote:
>>> When you have a ton of similar lines of code which need to be 
>>> edited in parallel, lining them up lets you edit all of them 
>>> in one keystroke. Saves me quite a lot of annoying editing in 
>>> the long run, actually.
>>
>> When you have a ton of similar lines of code, you'd better 
>> start thinking about templates or mixins :P
>
>
> Easy to say in theory, but makes absolutely no sense in many 
> cases. =P
>
> Example:
> boost::unordered_set<int> foo;
> boost::unordered_map<int> bar;
>
>
> and now I want to change 'boost' to 'std' because C++11 came 
> out.
>
> Templates? Mixins? wtf lol

Another example:

template<class T> struct foo
{
	int x;
	int operator+(int) const { }
	int operator-(int) const { }
	int operator*(int) const { }
};

template<class T> int foo<T>::operator+(int x) const { return 
this->x + x; }
template<class T> int foo<T>::operator-(int x) const { return 
this->x - x; }
template<class T> int foo<T>::operator*(int x) const { return 
this->x * x; }



let's say now I want to add a new template parameter, class U, to 
all the functions.



If you can teach me how "templates" or "mixins" would solve my 
problem here I'd love to know.


More information about the Digitalmars-d mailing list