// file: tr_ll_insert_1.cc
//

// isip include files
//
#include "train_link_list.h"
#include "train_link_list_constants.h"

// method: insert_cc
//
// arguments:
//  void_p item : (input) an item to insert in the list
//
// return: a logical_1 to indicate success
//
// this method inserts the specified item at the end of the linked
// list by adding an empty node there and sticking the item in it
//
logical_1 Train_Link_list::insert_cc(void_p item_a) {

  // get a new empty node from the memory manager
  //
  Train_Link_node* node = manager_d->new_node_cc();

  // set the item into this node
  //
  node->set_item_cc(item_a);
  
  // insert the new node at the end of the list and exit gracefully
  //
  return insert_cc(node);
}
