Re: [boost] [filesystem] create_directories

2002-12-23 Thread Vladimir Prus
Beman Dawes wrote:

Volodya,

 Agreed. BTW, where would that header live? In CVS tree or in sandbox?
 And what would be the access rules?

 No comment on this? Or, specifically, do you plan to add 
convenience.hpp to
 some CVS tree and place create_directories there any time soon?

I've just added these convenience files to the main CVS:

  boost/filesystem/convenience.hpp
  libs/filesystem/doc/convenience.htm
  libs/filesystem/src/convenience.cpp
  libs/filesystem/test/convenience_test.cpp

plus updated doc/index.htm, and the build and test Jamfiles to reference 
convenience.

Take a look and see if I've missed anything.

Everything looks OK.


doc/convenience.htm is just a shell; I'm hoping you'll add 
create_directories() docs.

Added.



There needs to be some kind of precondition. Maybe:

  !exists(ph) || is_directory(ph)

but it is more complicated than that.  Say you code:

  create_directories( xx/yy/zz );

If zz doesn't exist, and xx/yy does, then xx/yy has to be a directory; 
xx/yy can't be a file. I'm not sure how to express a recursive 
precondition.

I've writted that using forall, as mathematicians do. Hope this makes
sense. Please take a look at the docs. I've had to use is_parent
function, which does not exists, but hopefully the meaning is clear.


What are the postconditions? In your posting, you gave:

  exists(ph)  is_directory(ph)  is_empty(ph)

But is_empty(ph) would only apply if a new directory was created.


You are right.


There are also the cases create_directory() and 

Explicitly permitted by new preconditions.


create_directory(/).  

To begin with, what's this? More concrete question --- is this
empty relative path with trailing / or empty root name,
followed by root directory, and then empty relative path?

If this is the latter case, then... / is a directory and it
most surely exists. See no problem there --- preconditions are
satisfied.

- Volodya


___
Unsubscribe  other changes: http://lists.boost.org/mailman/listinfo.cgi/boost



Re: [boost] The Wonder of Tuples

2002-12-23 Thread Jaakko Jarvi
 Aleksey Gurtovoy wrote:
  David A. Greene wrote:
  
 The fundamental problem is that it's inconvenient to iterate through a
 tuple.  
  
  
  'tuple_ext' (tuple extensions) make it easier -
  http://groups.yahoo.com/group/Boost-Users/message/704.
 
 Has any discussion taken place about incorporating something like
 this into Boost?  Seems like a useful bit of code.
 
There has been some out-of-list discussion about this, and some work is
being done. There's a PP based tuple implementation (mostly written by
Joel) in Spirit's CVS that conforms to the Tuple speicification in the TR.
(Note that the current Boost.Tuples is not one-to-one what was accepted
into the TR. Most notably, the cons-list interface was not standardized.)

The PP based tuples are not complete yet, and what the iteration interface
will be is still undecided.


/Jaakko

-- 
--
-- Jaakko Järvi   email: [EMAIL PROTECTED]
-- Post Doctoral Fellow   phone: +1 (812) 855-3608
-- Pervasive Technology Labs  fax:   +1 (812) 855-4829
-- Indiana University, Bloomington



___
Unsubscribe  other changes: http://lists.boost.org/mailman/listinfo.cgi/boost



[boost] gcc toolset problems

2002-12-23 Thread Alkis Evlogimenos
It seems that running the regression with multiple gcc toolsets has similar 
issues with gcc as it had with intel-linux a couple of days ago. I am using:

$BOOST_BUILD_ROOT/tools/build/gcc2953-tools.jam
{
local GCC_ROOT_DIRECTORY = /opt/gcc2 ;
local GCC_STDLIB_DIRECTORY = 
/opt/gcc2/lib/gcc-lib/i686-pc-linux-gnu/2.95.3/ ;
extends-toolset gcc ;
}

$BOOST_BUILD_ROOT/tools/build/gcc2953-stlport-tools.jam
{
local GCC_ROOT_DIRECTORY = /opt/gcc2 ;
local GCC_STDLIB_DIRECTORY = 
/opt/gcc2/lib/gcc-lib/i686-pc-linux-gnu/2.95.3/ ;
local STLPORT_ROOT = /opt/gcc2 ;
local STLPORT_INCLUDE_DIRECTORY = include/stlport ;
extends-toolset gcc-stlport ;
}

And the command line:

bjam '-sTOOLS=gcc2953 gcc2953-stlport gcc'

is picking /opt/gcc2/bin/g++ as the compiler for the gcc toolset.

Any ideas?

Thanks,

-- 

Alkis

___
Unsubscribe  other changes: http://lists.boost.org/mailman/listinfo.cgi/boost



Re: [boost] gcc toolset problems

2002-12-23 Thread Rene Rivera
[2002-12-23] Alkis Evlogimenos wrote:

It seems that running the regression with multiple gcc toolsets has similar 
issues with gcc as it had with intel-linux a couple of days ago. I am
using:

$BOOST_BUILD_ROOT/tools/build/gcc2953-tools.jam
{
local GCC_ROOT_DIRECTORY = /opt/gcc2 ;
local GCC_STDLIB_DIRECTORY = 
/opt/gcc2/lib/gcc-lib/i686-pc-linux-gnu/2.95.3/ ;
extends-toolset gcc ;
}

$BOOST_BUILD_ROOT/tools/build/gcc2953-stlport-tools.jam
{
local GCC_ROOT_DIRECTORY = /opt/gcc2 ;
local GCC_STDLIB_DIRECTORY = 
/opt/gcc2/lib/gcc-lib/i686-pc-linux-gnu/2.95.3/ ;
local STLPORT_ROOT = /opt/gcc2 ;
local STLPORT_INCLUDE_DIRECTORY = include/stlport ;
extends-toolset gcc-stlport ;
}

And the command line:

bjam '-sTOOLS=gcc2953 gcc2953-stlport gcc'

is picking /opt/gcc2/bin/g++ as the compiler for the gcc toolset.

Any ideas?

Yes ;-) ... It's now fixed in CVS.

Thanks,

Your'e welcome.


-- grafik - Don't Assume Anything
-- [EMAIL PROTECTED] - [EMAIL PROTECTED]
-- 102708583@icq
___
Unsubscribe  other changes: http://lists.boost.org/mailman/listinfo.cgi/boost



Re: [boost] The Wonder of Tuples

2002-12-23 Thread Joel de Guzman
- Original Message - 
From: Jaakko Jarvi [EMAIL PROTECTED]


  Aleksey Gurtovoy wrote:
   David A. Greene wrote:
   
  The fundamental problem is that it's inconvenient to iterate through a
  tuple.  
   
   
   'tuple_ext' (tuple extensions) make it easier -
   http://groups.yahoo.com/group/Boost-Users/message/704.
  
  Has any discussion taken place about incorporating something like
  this into Boost?  Seems like a useful bit of code.
  
 There has been some out-of-list discussion about this, and some work is
 being done. There's a PP based tuple implementation (mostly written by
 Joel) in Spirit's CVS that conforms to the Tuple speicification in the TR.
 (Note that the current Boost.Tuples is not one-to-one what was accepted
 into the TR. Most notably, the cons-list interface was not standardized.)
 
 The PP based tuples are not complete yet, and what the iteration interface
 will be is still undecided.

Yup, I've been itching to reply to the thread but opted to wait for Jaakko.
There's already a TR conformant tuple implementation in Spirit's CVS
in the PHOENIX_X branch. It is PP and MPL based. Compiles on all
relevant compilers. There is only one implementation, unlike boost tuples
which has a different implementation for MSVC which can easily get
out of sync (it is out of sync now in fact. e.g. the MSVC branch does
not convert a make_tuple(ref(x)) to tupleX. And interestingly, some
code that does not compile on some compilers now compile with this
implementation. All of Jaakko's regression tests (except the cons related
stuff) plus some more new ones compile and run.

With the help of Jaakko, Aleksey et. al, I wish to implement a set of
tuple algorithms similar to STLs. The tricky part is that it should
work at compile time, run-time and half-run-compile time. 

Cheers,
Joel de Guzman
[EMAIL PROTECTED]
http://www.boost-consulting.com




___
Unsubscribe  other changes: http://lists.boost.org/mailman/listinfo.cgi/boost