We have that operator defined for a bunch of random types (gfx::Rect
comes to mind) so I think if there's a compilation overheard it should
be fixed in other places as well.

On Mon, Aug 24, 2009 at 10:26 AM, Andrew Scherkus<scher...@chromium.org> wrote:
> I'm with Matt on this one but if there are serious objections I'll let this
> die
>
> http://codereview.chromium.org/173234/show
>
> On Fri, Aug 21, 2009 at 10:27 AM, Matt Perry <mpcompl...@chromium.org>
> wrote:
>>
>> Defining operator<< is fine. Other types do this:
>>
>> http://www.google.com/codesearch?as_q=operator<<&btnG=Search+Code&hl=en&as_lang=&as_license_restrict=i&as_license=&as_package=src.chromium.org/svn/trunk/src&as_filename=\.h&as_case=
>>
>> string16 is a good example.
>> I say just use iosfwd and add the operator.
>> On Thu, Aug 20, 2009 at 10:10 PM, Jim Roskind <j...@chromium.org> wrote:
>>>
>>> Looking at the example you gave....how about:
>>> EXPECT_EQ(kExpected.InMilliseconds(), foo.InMilliseconds());
>>> Is that really that painful to write?
>>> ...and you could get all the microseconds to compare if you wanted to via
>>> ...InMicroseconds().
>>> I suspect you don't really want absolute comparisons at the microsecond
>>> level, and more likely you'd want something like;
>>> EXPECT_LT((kEpected - foo).InMilliseconds(), 20).
>>> ...but if you really wanted the example you cited, the first line seems
>>> relatively short.
>>> Jim
>>> On Thu, Aug 20, 2009 at 7:13 PM, Andrew Scherkus <scher...@chromium.org>
>>> wrote:
>>>>
>>>> I know microseconds aren't a very user-friendly format, but for unit
>>>> tests and DCHECKs I'm more interested in whether the assertion is simply
>>>> true.
>>>> Perhaps I'm lazy but I'd prefer:
>>>> EXPECT_EQ(kExpected, foo);
>>>> error: Value of: foo
>>>>   Actual: 21000000
>>>> Expected: kExpected
>>>> Which is: 22000000
>>>> ...over:
>>>> EXPECT_TRUE(kExpected == foo) << "Some message about " <<
>>>> kExpected.InSecondsF() << " and " << foo.InSecondsF();
>>>> error: Value of: kExpected == foo
>>>>   Actual: false
>>>> Expected: true
>>>> Some message about 21.0 and 22.0
>>>> Guaranteed I won't write that message every time and then I end up with
>>>> a simple true/false dump instead of the erroneous values.
>>>> On Thu, Aug 20, 2009 at 6:49 PM, Matt Perry <mpcompl...@chromium.org>
>>>> wrote:
>>>>>
>>>>> Andrew wants to be able to do:
>>>>>   DCHECK_EQ(expected_time_delta, time_delta);
>>>>> This can't be done without operator<< support.
>>>>>
>>>>> On Thu, Aug 20, 2009 at 6:46 PM, Jim Roskind <j...@chromium.org> wrote:
>>>>>>
>>>>>> +1 for Peter's suggestion.
>>>>>> TimeDelta has an internal accuracy of microseconds.  What
>>>>>> resolution/scaling do you want to print in a check?  Sometimes it is
>>>>>> minutes, sometimes seconds, sometimes milliseconds, I doubt that we want
>>>>>> microseconds :-/.
>>>>>> Explicit conversion as suggested doesn't seem that painful IMO.
>>>>>> Jim
>>>>>>
>>>>>> On Thu, Aug 20, 2009 at 4:02 PM, Peter Kasting <pkast...@chromium.org>
>>>>>> wrote:
>>>>>>>
>>>>>>> On Thu, Aug 20, 2009 at 3:33 PM, Andrew Scherkus
>>>>>>> <scher...@chromium.org> wrote:
>>>>>>>>
>>>>>>>> Any opposition to globally declaring an operator<< ostream overload
>>>>>>>> for TimeDelta in base/time.h?
>>>>>>>
>>>>>>> This will pull the stream headers into all files that use time.h.  Is
>>>>>>> that going to bloat any code or cost compile time?
>>>>>>> Is there another easy solution like doing DCHECK() << "TimeDelta was:
>>>>>>> " << myTimeDelta.asInt64OrWhatever()?
>>>>>>> PK
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
    http://groups.google.com/group/chromium-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to