All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Bennett <spb@gentoo.org>
To: Karl MacMillan <kmacmillan@mentalrootkit.com>
Cc: Joshua Brindle <jbrindle@tresys.com>,
	selinux@tycho.nsa.gov, Stephen Smalley <sds@tycho.nsa.gov>
Subject: Re: SELinux userspace infrastructure language
Date: Wed, 6 Jun 2007 18:07:45 +0100	[thread overview]
Message-ID: <20070606180745.1052eece@maya> (raw)
In-Reply-To: <1181147401.5358.1.camel@localhost.localdomain>

On Wed, 06 Jun 2007 12:30:01 -0400
Karl MacMillan <kmacmillan@mentalrootkit.com> wrote:

> > It's not painful really, even for very small or very large classes.
> > If you're using it a lot in a given library it's not too hard to
> > add a few templated utility classes to make life somewhat easier
> > either.
> > 
> 
> Can you give an example of what those templated classes do?

The one I've been using recently is found at 
http://paludis.pioto.org/trac/browser/trunk/paludis/util/private_implementation_pattern.hh
and
http://paludis.pioto.org/trac/browser/trunk/paludis/util/private_implementation_pattern-impl.hh
(apologies for long URLs). Usage is fairly simple: in a class Foo,
simply inherit from PrivateImplementationPatter<Foo>, and then
initialise _imp with 'new Implementation<Foo>(args here)'. The entirety
of Implementation<Foo> can then be hidden away in the .cc file,
inaccessible to the outside world.

> Hmm - I thought that adding a member function (virtual or non-virtual)
> changed the ABI. Is there some technique for addressing that problem?

Not as far as I'm aware .. adding a new virtual method will break the
ABI if it's placed before any existing ones, but non-virtual methods
and virtual methods added to the end shouldn't cause problems.

--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.

  reply	other threads:[~2007-06-06 17:07 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-31 17:35 SELinux userspace infrastructure language Joshua Brindle
2007-05-31 17:47 ` Karl MacMillan
2007-05-31 17:54   ` Joshua Brindle
2007-05-31 19:31     ` Karl MacMillan
2007-06-04 22:24       ` Karl MacMillan
2007-06-05  0:52         ` Joshua Brindle
2007-06-04 16:49           ` Karl MacMillan
2007-06-05 14:19             ` Stephen Smalley
2007-06-05 15:13               ` Karl MacMillan
2007-06-06 12:42                 ` Stephen Smalley
2007-06-06 14:51                   ` Karl MacMillan
2007-06-05 23:18             ` Joshua Brindle
2007-06-06 14:48               ` Karl MacMillan
2007-06-06 14:59                 ` Joshua Brindle
2007-06-06 15:18                   ` Karl MacMillan
2007-06-06 15:28                     ` Joshua Brindle
2007-06-06 16:19                       ` Stephen Bennett
2007-06-06 16:30                         ` Karl MacMillan
2007-06-06 17:07                           ` Stephen Bennett [this message]
2007-05-31 19:45     ` Stephen Bennett
2007-06-01  4:10       ` James Antill
2007-06-01 11:40         ` Stephen Bennett
2007-06-01 11:47           ` Stephen Bennett
2007-06-01 14:49         ` Karl MacMillan
2007-06-01 15:17           ` Joshua Brindle
2007-06-04 21:30       ` Help with semanage Hasan Rezaul-CHR010
2007-06-04 21:40         ` Stephen Smalley
2007-06-04 22:12           ` Hasan Rezaul-CHR010
2007-06-05 13:07             ` Stephen Smalley
2007-06-05 16:34               ` Hasan Rezaul-CHR010
2007-06-05 17:36                 ` Stephen Smalley
2007-06-05 17:51                   ` Stephen Smalley
2007-05-31 18:00   ` SELinux userspace infrastructure language Chad Sellers
2007-05-31 19:13     ` Karl MacMillan
     [not found]       ` <20070531205635.3b85f72b@maya>
     [not found]         ` <1180641092.22021.30.camel@localhost.localdomain>
     [not found]           ` <1180641428.22021.34.camel@localhost.localdomain>
2007-05-31 20:28             ` Stephen Bennett

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070606180745.1052eece@maya \
    --to=spb@gentoo.org \
    --cc=jbrindle@tresys.com \
    --cc=kmacmillan@mentalrootkit.com \
    --cc=sds@tycho.nsa.gov \
    --cc=selinux@tycho.nsa.gov \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.