// file: $isip/class/pr/LanguageModelBNF/lmbnf_01.cc
// version: $Id: lmbnf_01.cc 10496 2006-03-15 21:39:18Z may $

// ISIP include files
//
#include "LanguageModelBNF.h"

// method: debug
//
// arguments:
//   const unichar* msg: (input) a message to display with the
//     member data information
//
// return: a boolean indicating status
//
boolean LanguageModelBNF::debug(const unichar* msg_a) const {

  rm_d.debug(L"rm_d");
  
  // exit gracefully
  //
  return true;
}

// method: clear
//
// arguments:
//  Integral::CMODE ctype: (input) clear mode
//
// return: a boolean value indicating status
//
// this method resets the data members to the default values
//
boolean LanguageModelBNF::clear(Integral::CMODE ctype_a) {
  
  if(ctype_a != Integral::RETAIN) {
    rm_d.clear(ctype_a);
  }
  
  // indicate success
  //
  return true;
}

// method: operator=
//
// arguments:
//  const LanguageModelBNF& arg: (input) input object to copy
//
// return: a boolean value indicating status
//
// this method copies the argument over this object
//
boolean LanguageModelBNF::operator=(const LanguageModelBNF& lmbnf_a) {
  return assign(lmbnf_a);
}

// method: assign
//
// arguments:
//  const LanguageModelBNF& arg: (input) object to copy
//
// return: a boolean value indicating status
//
// this method assigns the input object to current object
//
boolean LanguageModelBNF::assign(const LanguageModelBNF& lmbnf_a) {
  
  return (rm_d.assign(lmbnf_a.rm_d));
}

// method: operator==
//
// arguments:
//  const LanguageModelBNF& arg: (input) input object to compare
//
// return: a boolean value indicating status
//
// this method checks whether the current object is identical to the
// input object
//
boolean LanguageModelBNF::operator==(const LanguageModelBNF& lmbnf_a) const {
  return eq(lmbnf_a);
}

// method: eq
//
// arguments:
//  const LanguageModelBNF& lmxml: (input) input object to compare
//
// return: a boolean value indicating equality
//
// this method checks whether the current object is identical to the
// input object
//
boolean LanguageModelBNF::eq(const LanguageModelBNF& lmbnf_a) const {
  
  // compare all non/debug member data
  //
  return(rm_d.eq(lmbnf_a.rm_d));  
}

