Add gdb_ref_ptr.h
authorTom Tromey <tom@tromey.com>
Mon, 21 Nov 2016 00:48:31 +0000 (17:48 -0700)
committerTom Tromey <tom@tromey.com>
Wed, 11 Jan 2017 02:14:09 +0000 (19:14 -0700)
commit50315b21779d71c172eb98a786a9b8281622e407
treeff163e54508c6a8c959ff5f9f118debd34481bc0
parentfc4007c969ec4208fb7c7cee2f50211a9aa0f40f
Add gdb_ref_ptr.h

This adds a new gdb_ref_ptr.h, that implements a reference-counting
smart pointer class, where the user of the class supplies a
reference-counting policy object.

This class will be used in the next patch, which changes most explicit
BFD reference counts to use this new type.  Meanwhile, this patch
changes gdbpy_ref to be a specialization of this new class.

This change required adding new nullptr_t overloads some operators in
gdb_ref_ptr.h.  I suspect this was needed because some Python header
redefines NULL, but I'm not certain.

2017-01-10  Tom Tromey  <tom@tromey.com>

* common/gdb_ref_ptr.h: New file.
* python/py-ref.h (struct gdbpy_ref_policy): New.
(gdbpy_ref): Now a typedef.
gdb/ChangeLog
gdb/common/gdb_ref_ptr.h [new file with mode: 0644]
gdb/python/py-ref.h