<div dir="ltr">Alex,<div><br></div><div>Actually, as soon as I sent the last e-mail, I noticed that Policy didn't have a default/no-arg ctor defined, so I went in and modified it to use one.  I gave JPBPolicy a no-arg constructor, but used a passthrough to the base class (Policy) constructor with the constant string.  I *think* I have that part correct.</div><div><br></div><div>However, I still am getting the "use of deleted function" error related to unique_ptr.  </div><div><br></div><div><br></div><div><b>Updated Errors:</b></div><div><a href="https://drive.google.com/open?id=1Ni2wc7mSecJR-1KseA_1k4oDKoXuJJrGNtwXl6sHnrA">https://drive.google.com/open?id=1Ni2wc7mSecJR-1KseA_1k4oDKoXuJJrGNtwXl6sHnrA</a><br></div><div><br></div><div><b>Updated jpb-policy-test.cpp:</b></div><div><a href="https://drive.google.com/open?id=0By9ufeKqmJYYOThERVMtOVo2STA">https://drive.google.com/open?id=0By9ufeKqmJYYOThERVMtOVo2STA</a><br></div><div><br></div><div><b>Updated JPBPolicy.hpp:</b></div><div><a href="https://drive.google.com/open?id=0By9ufeKqmJYYV183emczZ01kM28">https://drive.google.com/open?id=0By9ufeKqmJYYV183emczZ01kM28</a><br></div><div><br></div><div><br></div><div>I neglected to include my Policy class last time.  And yes, I suppose using separate compilation (.hpp and .cpp file for the JPBPolicy class) would be better, but I'm trying to take it one step at a time! :)</div><div><br></div><div>I think some of this might be some misunderstandings with some of the new C++ 11 and 14 features / smart pointer stuff.</div><div><br></div><div>Also, <b>do I need the </b>= delete for the copy constructor and = operator?  I was reading in a few areas where that helped with the error I'm receiving, but I don't know if those are necessary.</div><div><br></div><div>Thank you all so much,</div><div><br></div><div>John</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Nov 16, 2016 at 12:38 AM, Alex Afanasyev <span dir="ltr"><<a href="mailto:aa@cs.ucla.edu" target="_blank">aa@cs.ucla.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Hi John,<div><br></div><div>You have a small issue in your implementation of JPBPolicy.  If you haven't, you need to define the default constructor and in the default constructor use ``Policy::Policy(const std::string&)`` to initialize the base class.  You can see the example in other policies:</div><div><br></div><div><div>    LruPolicy::LruPolicy()</div><div>       : Policy(POLICY_NAME)</div><div>     {</div><div>     }</div></div><div><br></div><div>The reason is that each policy has to have a name, which is enforced by the deleted default constructor of the base class.</div><div><br></div><div>--</div><div>Alex</div><div><div class="h5"><div><br><div><blockquote type="cite"><div>On Nov 16, 2016, at 1:44 PM, John Baugh <<a href="mailto:jpbaugh@umich.edu" target="_blank">jpbaugh@umich.edu</a>> wrote:</div><br class="m_19489329017574660Apple-interchange-newline"><div><div dir="ltr">Greetings all,<div><b><br></b></div><div><b>See the error(s) I'm getting below from my Google Drive:</b></div><div><a href="https://drive.google.com/open?id=1Ni2wc7mSecJR-1KseA_1k4oDKoXuJJrGNtwXl6sHnrA" target="_blank">https://drive.google.com/open?<wbr>id=1Ni2wc7mSecJR-1KseA_<wbr>1k4oDKoXuJJrGNtwXl6sHnrA</a><br></div><div><br></div><div><b>Here's the code:</b></div><div><a href="https://drive.google.com/open?id=0By9ufeKqmJYYOThERVMtOVo2STA" target="_blank">https://drive.google.com/open?<wbr>id=<wbr>0By9ufeKqmJYYOThERVMtOVo2STA</a><br></div><div><b><br></b></div><div>Thanks,</div><div><br></div><div>John</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 14, 2016 at 3:02 AM, Alex Afanasyev <span dir="ltr"><<a href="mailto:aa@cs.ucla.edu" target="_blank">aa@cs.ucla.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Hi John,<div><br></div><div>Can you post the exact error you're getting (if it is too long, you can use <a href="http://pastebin.com/" target="_blank">pastebin.com</a>).  If you also can share the snippet that reproduces the problem, it would be much faster to debug the issue and suggest the solution.</div><div><br></div><div>--</div><div>Alex</div><div><div class="m_19489329017574660h5"><div><br><div><blockquote type="cite"><div>On Nov 14, 2016, at 3:53 PM, John Baugh <<a href="mailto:jpbaugh@umich.edu" target="_blank">jpbaugh@umich.edu</a>> wrote:</div><br class="m_19489329017574660m_-8770596149899013633Apple-interchange-newline"><div><div dir="ltr">I am trying code like so:<div><br></div><div>unique_ptr<nfd::cs::Policy> policy(new JPBPolicy());</div><div><br></div><div>myContentStore.setPolicy(polic<wbr>y);</div><div><br></div><div>I'm getting tons of errors.  It doesn't like any of the conversions I'm trying to perform...  It may be a misunderstanding of some of the techniques used with managed/smart pointers in terms of polymorphic references, but something's not working.</div><div><br></div><div>I want to create a subclass of Policy in order to override functions such as doAfterInsert(iterator i);</div><div><br></div><div>In my derived class (subclass), I did provide a body for all the pure virtual methods from the documentation of Policy.</div><div><br></div><div>But I think the problem is the conversion.  Is there some way to do this with say, static_cast ?</div><div><br></div><div>Thanks,</div><div><br></div><div>John</div></div></div></blockquote></div></div></div></div></div></blockquote></div><br></div>
</div></blockquote></div><br></div></div></div></div></blockquote></div><br></div>