[VSDK ]  Access to cursor fields
    Ruslan Zasukhin 
    sunshine at public.kherson.ua
       
    Fri Jan 24 10:57:27 CST 2003
    
    
  
on 1/24/03 12:07 AM, Eric Forget at forgete at cafederic.com wrote:
> Yep it is possible. I don't remember the name of this method which I read 2
> years ago in Modern C++ Design (from Andrei Alexandrescu).
> 
> What we want is this:
> 
> short   myShort     = curs->GetValue("Field1");
> char    *myCharPtr  = curs->GetValue("Field2");
> long    myLong      = curs->GetValue("Field3");
> 
> For this to work there is a simple trick. You cannot have overloading of
> functions which differ only by return code. However, you can return a
> temporary object instead:
Excellent idea, Eric !
I love it.
Now we need pointers on void.
Template can wrap this and get pointers from parameters
    template<class T>
    Find( T v1 )
    {
        Find( &v1 );
    }
    template<class T>
    Find_i_i( T v1, Tv2 )
    {
        Find( true, &v1, &v2, true );
    }
    template<class T>
    Find_i_e( T v1, Tv2 )
    {
        Find( true, &v1, &v2, false );
    }
Here I - include, e - exclude.
To specify range.
Also, back to your idea, I wonder now on next 2 points
1) may be we should allow usage of GetValue() on left side also?
        
    curs->Value("Field1") = (short) 5;
2) may be even shorter?
    curs("Field1") = (short) 5;
    
-- 
Best regards,
Ruslan Zasukhin      [ I feel the need...the need for speed ]
-------------------------------------------------------------
e-mail: ruslan at paradigmasoft.com
web: http://www.paradigmasoft.com
To subscribe to the Valentina mail list go to:
http://listserv.macserve.net/mailman/listinfo/valentina
-------------------------------------------------------------
    
    
More information about the Valentina
mailing list