Displaying 4 results from an estimated 4 matches for "ownsoutputstream".
2014 Nov 13
2
[LLVMdev] New type of smart pointer for LLVM
...ch
> TokenLexer::OwnsTokens
> Action::OwnsInputs (this ones trickier - it's a boolean that indicates
> whether all the elements of a vector<T*> are owned or unowned)
> ASTUnit::OwnsRemappedFileBuffers
> VerifyDiagnosticConsumer::OwnsPrimaryClient
> TextDiagnosticPrinter::OwnsOutputStream
> FixItRewriter::OwnsClient
> Tooling::OwnsAction
>
> Some in LLVM:
>
> circular_raw_ostream::OwnsStream
> Arg::OwnsValues (another tricky one with a bool flag and a vector of raw
> pointers, if I recall correctly)
>
>
> And a couple that I changed {T*, bool} to {T*...
2014 Nov 13
2
[LLVMdev] [cfe-dev] New type of smart pointer for LLVM
...t pointer.
>
I'd generally prefer conditional ownership over shared ownership if
possible - it's a narrower contract & I can still think about where the
single owner is.
I know in at least some of these uses, shared pointer semantics would not
be applicable - TextDiagnosticPrinter::OwnsOutputStream, for example either
owns its own newly allocated stream or uses std::cout (or cerr, or
something) - it can never share the ownership of that stream, so it really
must be "own something or own nothing". (I suppose we could use a custom
no-op deleter on a shared_ptr in that case, though)
B...
2014 Oct 08
2
[LLVMdev] New type of smart pointer for LLVM
[+cfe-dev]
This conversation has already been happening on llvm-dev so there's no good
way for me to capture the entire existing discussion (so I'm jumping you in
part-way) & the subject line could be more descriptive, but I wanted to add
Clang developers since many of the interesting cases of conditional
ownership I've seen were in Clang.
I know some of you are also on llvm-dev
2014 Oct 01
4
[LLVMdev] New type of smart pointer for LLVM
On Wed, Oct 1, 2014 at 3:14 PM, Anton Yartsev <anton.yartsev at gmail.com>
wrote:
> Ping!
>
> Suggested is a wrapper over a raw pointer that is intended for freeing
> wrapped memory at the end of wrappers lifetime if ownership of a raw
> pointer was not taken away during the lifetime of the wrapper.
> The main difference from unique_ptr is an ability to access the wrapped