Hello, Howard,

> I have changed this again to no longer throw an exception 
> if nothing is found.  Instead, as suggested by Mateusz, 
> the Dimension is wrapped in a boost::optional that may be null.

Yes, that sounds reasonable. :-)

I've been away on holidays, in case you're wondering about the delayed
response... ;-)

Regards,
David Trudgett
 





 
-----Original Message-----
From: Howard Butler [mailto:[email protected]] 
Sent: Friday, 24 December 2010 05:44
To: Trudgett, David
Cc: [email protected]
Subject: Re: [Liblas-devel] HasColor() and HasTime() removed from Schema
class public interface


On Dec 19, 2010, at 8:38 PM, Howard Butler wrote:

> The proper way to ask for HasColor or HasTime now is to ask the schema
if the color or time dimensions exist.
> 
> bool bColorExists = false;
> try {
> 
>       liblas::Dimension const& red = schema.GetDimension("Red");
>       liblas::Dimension const& green = schema.GetDimension("Green");
>       liblas::Dimension const& blue = schema.GetDimension("Blue");
>       bColorExists = true;
> 
> } catch (std::runtime_error const&)
> {
> }

David,

I have changed this again to no longer throw an exception if nothing is
found.  Instead, as suggested by Mateusz, the Dimension is wrapped in a
boost::optional that may be null.

boost::optional< Dimension const& > red = schema.GetDimension("Red");
boost::optional< Dimension const& > green =
schema.GetDimension("Green");
boost::optional< Dimension const& > blue = schema.GetDimension("Blue");

if (red && green && blue)
    bColorExists = true;

A boost::optional can be dereferenced to get the const &.  For example,

red->GetName();  

Thanks for the feedback.  I think this is better :)

Howard
Attention

Email Disclaimer Notice - This message is the property of AAM Pty Ltd. The 
information in this email is confidential and may be legally privileged.
It is intended solely for the
addressee. Access to this email by anyone else is unauthorised. If you are not 
the intended recipient, any disclosure, copying, distribution or any action 
taken or omitted to be taken in reliance on it is prohibited and may be 
unlawful.

If you have received this message in error please notify AAM Pty Ltd. 
immediately via email to [email protected] <mailto:[email protected]> 

This email has been scanned and cleared by NetIQ Mail Marshal, however AAM Pty 
Ltd does not guarantee this message free of viruses, or interference. 
________________________________
_______________________________________________
Liblas-devel mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/liblas-devel

Reply via email to