[Boost-users] [boost-users] [general]

0 views
Skip to first unread message

chun ping wang

unread,
Jan 26, 2008, 11:50:42 AM1/26/08
to boost...@lists.boost.org
Hi is their anyway for boost to allow only explicit conversion...

like class MyInt
{
// some code inside....
    operator int() {}
};

myIntCalc(int, int);

MyInt a, b;
f = myInt(a, b); // compile error no implicit conversion.

int x = boost::numeric_cast<int>(a); // k allow
int y = static_cast<int>(b); // k allow.


Zeljko Vrba

unread,
Jan 26, 2008, 11:59:33 AM1/26/08
to boost...@lists.boost.org
On Sat, Jan 26, 2008 at 08:50:42AM -0800, chun ping wang wrote:
>
> Hi is their anyway for boost to allow only explicit conversion...
>
Why not just use a method?

> like class MyInt
> {
> // some code inside....

int to_int() const;


> };
>
> myIntCalc(int, int);
>
> MyInt a, b;
> f = myInt(a, b); // compile error no implicit conversion.
>

>
> int x = boost::numeric_cast<int>(a); // k allow
>

int x = a.to_int();


_______________________________________________
Boost-users mailing list
Boost...@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users

chun ping wang

unread,
Jan 26, 2008, 12:16:46 PM1/26/08
to boost...@lists.boost.org
cause i want to use it in a generic function and other numeric type your_int may or not have to_int...

Robert Ramey

unread,
Jan 26, 2008, 3:42:11 PM1/26/08
to boost...@lists.boost.org
class MyInt
{
// some code inside....
    operator int() {
        BOOST_STATIC_ASSERT(0 == sizeof(MyInt)); // or some mpl thing
    }
};


Reply all
Reply to author
Forward
0 new messages